{
 "metadata": {
  "name": "",
  "signature": "sha256:cb7841e339843c79651e15fe2aed58d67f77762937601c0cec3dac1e3fd934d7"
 },
 "nbformat": 3,
 "nbformat_minor": 0,
 "worksheets": [
  {
   "cells": [
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "# Fitting censored data\n",
      "\n",
      "Experimental measurements are sometimes censored such that we only know partial information about a particular data point. For example, in measuring the lifespan of mice, a portion of them might live through the duration of the study, in which case we only know the lower bound.\n",
      "\n",
      "One of the ways we can deal with this is to use Maximum Likelihood Estimation ([MLE](http://en.wikipedia.org/wiki/Maximum_likelihood)). However, censoring often make analytical solutions difficult even for well known distributions.\n",
      "\n",
      "We can overcome this challenge by converting the MLE into a convex optimization problem and solving it using [CVXPY](http://www.cvxpy.org/en/latest/).\n",
      "\n",
      "This example is adapted from a homework problem from Boyd's [CVX 101: Convex Optimization Course](https://class.stanford.edu/courses/Engineering/CVX101/Winter2014/info).\n"
     ]
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "## Setup\n",
      "\n",
      "We will use similar notation here. Suppose we have a linear model:\n",
      "\n",
      "$$ y^{(i)} = c^Tx^{(i)} +\\epsilon^{(i)} $$\n",
      "\n",
      "where $y^{(i)} \\in \\mathbf{R}$, $c \\in \\mathbf{R}^n$, $k^{(i)} \\in \\mathbf{R}^n$, and $\\epsilon^{(i)}$ is the error and has a normal distribution $N(0, \\sigma^2)$ for $ i = 1,\\ldots,K$.\n",
      "\n",
      "Then the MLE estimator $c$ is the vector that minimizes the sum of squares of the errors $\\epsilon^{(i)}$, namely:\n",
      "\n",
      "$$\n",
      "\\begin{array}{ll}\n",
      "  \\underset{c}{\\mbox{minimize}} & \\sum_{i=1}^K (y^{(i)} - c^T x^{(i)})^2\n",
      "\\end{array}\n",
      "$$\n",
      "\n",
      "In the case of right censored data, only $M$ observations are fully observed and all that is known for the remaining observations is that $y^{(i)} \\geq D$ for $i=\\mbox{M+1},\\ldots,K$ and some constant $D$.\n",
      "\n",
      "Now let's see how this would work in practice.\n",
      "\n",
      "\n",
      "## Data Generation"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "import numpy as np\n",
      "n = 30 # number of variables\n",
      "M = 50 # number of censored observations\n",
      "K = 200 # total number of observations\n",
      "\n",
      "np.random.seed(n*M*K)\n",
      "X = np.random.randn(K*n).reshape(K, n)\n",
      "c_true = np.random.rand(n)\n",
      "\n",
      "# generating the y variable\n",
      "y = X.dot(c_true) + .3*np.sqrt(n)*np.random.randn(K)\n",
      "\n",
      "# ordering them based on y\n",
      "order = np.argsort(y)\n",
      "y_ordered = y[order]\n",
      "X_ordered = X[order,:]\n",
      "\n",
      "#finding boundary\n",
      "D = (y_ordered[M-1] + y_ordered[M])/2. \n",
      "\n",
      "# applying censoring\n",
      "y_censored = np.concatenate((y_ordered[:M], np.ones(K-M)*D))\n",
      "\n",
      "#plot helper\n",
      "%pylab inline\n",
      "\n",
      "def plot_fit(fit, fit_label):\n",
      "    figsize(10,6)\n",
      "    grid()\n",
      "    plot(y_censored, 'bo', label = 'censored data')\n",
      "    plot(y_ordered, 'co', label = 'uncensored data')\n",
      "    plot(fit, 'ro', label=fit_label)\n",
      "    ylabel('y')\n",
      "    legend(loc=0)\n",
      "    xlabel('observations');\n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "Populating the interactive namespace from numpy and matplotlib\n"
       ]
      }
     ],
     "prompt_number": 1
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "## Regular OLS\n",
      "\n",
      "Let's see what the OLS result looks like. We'll use the `np.linalg.lstsq` function to solve for our coefficients."
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "c_ols = np.linalg.lstsq(X_ordered, y_censored)[0]\n",
      "fit_ols = X_ordered.dot(c_ols)\n",
      "plot_fit(fit_ols, 'OLS fit')"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "metadata": {},
       "output_type": "display_data",
       "png": "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\n8u+vEaNvHd/Ln2mtXH3+jqlW/DVnstd5Eun56w8aatZ8cTXmSc2aJ9G/lvc14qrZnezzaq+55Ze/\nDKlyVwMAACAASURBVNhkhs7Ir7xvGjZM3D58uN2ISuvnPCcqStw2bJjmK2ZvlV21kVXWq/GFgLg8\nLs4yl6asNiz28su71JxdGRUlZiQl2T02LT1dxObkqNeizZkjosaPF8NnzzbdfJqeclXbbbaatWCZ\nt9IonmbG92UNoNLviTdq0wIhCa0vZswwAlizpkwejR89cAAnDh9GWnS0rf+Osyhb65WEnj4N8mXl\n0f/mujqUl5fryrGj5ara8WrkSEMD/iBJ6NWzp+arN3f6iqi95sThw3jWoW+Unn5zZk1YrHTlfX9u\nLh7++mv7q7zmZuDzzzXlafJmTYJafzhr7d2M6Gh8cu+9aBw9Gti1y/a6od9+izWHDtmta3hzMx52\nqMlZU1ODrLg4bFfr8J+YiLy5c4Ou5kxLbbe7fWOVGLEuo/qCmfn7qZUR/Z58WQPobt5GvQIhCa38\nuxAomQTc4kmk568/aKhZs9J7ZeDO8lr7ujnOOelujh1f5YVz50pR7TXzzz/frat4I67svNkPSYm1\nxsKMV3lq/eEmhoWJEVlZ9rVispq1bIfPQEC9L+RVvXv7pb+ZETzNm+XqszY6/5gn69I6ZZOz2qZA\nqHnRwt1zqq/PLVa++g0IlNpXx99WM51zrcCaNef0XhnoXV6pZsVZtu2xEyZYMs1v2uT2KE0jr9Cd\ncedKUe015cuWATt3dlleT785K8djZLYreyOH5Wv1xJIl+M/f/47Q5mbUtbejITMTEb16AeHhiEtO\nts0S4Dhq03pFnjVsGLY/9phl5gCFEZmnEhO7vKdaX8jhw4bhoVdeMXwfzUxrHzJ5P6XyZctQ8fjj\nKF+2zK0y6+lIVVffby21TZ7UvJjpe2vm1CVKfPUb4K+RuFrJy5CIjMTY/HwUrloVlLkRgz5Y0/sl\n9PRLq6fzv7s/5r6sbnfnB0HtNe6cXFx9HlqOt7fyrKkxclg+0HW+TMcArHXfPpz/2Wd4r2MeSwCY\n/tVXePeXv0RjcbHd3JmxBw9iemgo1sgSxE6LjUXV5MmWOx3NllixAvG1tfh5z56QSksRlpaGG+Lj\n8Xx9ve11NampWADgycOHbY8F+onR3bKi50fNTKkGnH2/tQRi7p4vzXQMAPeDEl+fW6x89Rvgq6DQ\nHWplqO/s2SjautXng1G8LeiCNcerteMNDYrLqX0JPb2S0HKCM+LHXH6SlV+l+/MK1dmVsrsnF1ef\nhxn7VFjf94WiItz27bea89MBXXOZxUZE4Gh4uP18mQ6Tl4+YOROvyAI1AFhz7BiyTp/GdsBuloDG\ngQPx7rhxyFq7FjF79+LUwIGoiomx9FGz6phTc9TatXivpMT2sOOotbkd++GPUXpa+LLmRs+PmhnL\nrBItgZi750uzHQMzByVqjMwB6Ow9AHN+x1XL0NatmkfNm6l215WADdaUDjKALpH2TampWJCaqvnq\n39MvreMJzjpJ74GtW7ukcHDnx9yRWa5QtWyHOycXV5+Hlh+UyspKn18BuzMsv6yiAvNXr0b1+ecD\nx48DBQWoLS11OZF5zNmziuuLaW213HCYJaBx9GhsHz3aEvBt2wZkZXWZoilj1SrkzZypuE9K++or\nWk+u7n4vtJYVpe3ILSnR9FlrrY3y9w+JlkDM3fOl2Zod3Q1K/HFu8TVfBIXu8EUrmJkEbLCmdJDr\n4uLwfw6Rdunhw5g3bBiKMjM1fQk9vZKQn+DsRgPW13fJ+eJujh05s1yhems7XH0ejj8o1uB4/5df\n2oJjxMS4/f6ekp/oyioqsPjNN/FAeblic+aeo0dRV1BgmTvT2XyZDrdPhYQovvepiAjLDbVZAqwj\nNd9+G72jo9H4yCNIS021TNE0c6bpRmzqObl683uhth25JSWarui1BEFm+CHREoh5q8bcH8walJAy\nX7SCmYonoxP89QeVUWjXqYwE8eXIFbU8VlpGpqiNvHI2Issso3X8tR2u8smZZWTaug0bRMa8ec4z\n+F9/vf1/x8z/Krdjb75ZTIuNtdvvqcnJIjY72+UsAYE0UlPPCDhvlkdPR+JpGYXpq9F+WrbVqNGr\njuv116wEFBw8LUO+/s0CR4N2Uq4U9d3VmrXZ4lhUFKYnJyO8qQk4fbrLckrVtGpX0ju3bcNB2eiW\nzQCe+eADvJGRgdj0dN198rzFX1fK8iv77z/5BK/U1dme2wxAqq5G6Zw5KM/K8umk2Y59z1ra2tD4\nwAOWJ1WaM201YFrmy5Tdbpw5E+8CGPWvfyEBQIMkoeHCC3FO79665s40Oz3NHt4sj542v2ipjTJL\nM6G3aps8yYNJBBjbCiZnlpGujoIqWIsdNAiFSUl+6SSqFGxNj45WXFapMKhVyU5/+mms6Ugma21W\nXdPUZEmDsXOn7j553uLPDrqOKVEA+yboyro65LiYdsRZMOasSepkdHSXkZqtbW3Y3dKCppwcW98z\nu4nM1Zo2rQGYvA+Zk6mZ7AKw6GjkvfZawAVgeug5ubpbHrX0QTLiJO8qCAq0HxJ3WPd//fz5loTZ\ntbXAzp2m7jfkqLKyEiGnTgVEJ3V/94H0Bk8uJgJtUEnABmuFGRldDvJ1Dz0EwD8jV5SCrT80NeHW\n6Gj8vanJbjuVCoPalXR0W2c2K6W8bHr75Knx9ItshlFD8h84PTnsXPUPUgukf79oETZkZqJ61iz7\nkZqlpcCtt9r3PZPXlqndtqbN+PRTxOzbhyh5H7IArAkzmp6TqzfLoy9O8oH2Q+KugOs35GDHRx/h\naGmp6Tupm6EPpNmY4TdLj4AN1pyNvPLHwVYKtsYCeOnnP0dRv34uC4PalXRTWOdHpPZh9YuL82iK\nEaO+yP7uoKs27UiO7LZSM5KrHwy1QProwYOofuwxyx15c6a1tkyp1sxJcyYAIDMTGV99hZLi4m4f\nnDnSe3J1pzxqGdln9Ene2YVSoPyQuMsszb3u+qmyMiCCzUBMLu4L/v7N0iNggzWzHWS1YKt3v36a\nRoipXUlnz55ty8isljHe06aRYMlC7th/DbL+a1ZKx8rZD0ZZRQW27t6t+Pxha2oMoEt6DLv/gF2y\n2cTaWgzqSDar2J/MhCMxzcIs33ujtsPVhZIZ9tWbAr25N1CCTSOSi5N/BWywZjaeNls4u5LenJWF\nouXL8dOBA7h1925Nzap6BEsWcuv7WlOiFHZsWyUstWuOx8o6CED8+KPiujbt2oXHli9H6PjxmL56\nNdY0Ntqem5aejp1DhnQurDQowDF/mbXW7E9/YjBmUr7OmxXozYCeCvTm3mqHZNRWZgs2AzG5ONlj\nsGYQI5ot5FfSarMSeJqXTUmwZCGXk38e+w8fxobU1M7gt6wMLxUXY9+BAzjerx/2nnsuph8/3iUY\n2z5kiGXmgNJSvFtQYJ/1f/JkNPboodycGWD5y8h/AqVmxlsCvbl3xJQpKKyrM32waURycfIvBmsG\nCtSmkWDJQu5IKSHtPc8+i3MqKvCC9Yr48GFMj43FxilTkPXtt/bB2K5dlmVCQzuz/q9cCcyda/9G\nDvNoBnJ6jO7O19noA70Z0AiB3Nw7/777sPnCC00fbOpNLm7Vncqh2TFYMyFf11gFUxZyOXmus90t\nLWiaPx8jbr21M1DrsKaxEVnffovtjz1mH4x9843lv9roTUB1Hk0iLQK9GZACJ9h0tp0sh+bHYM0N\n3u5U748aK3dOOGb+gpdVVGDecytw+JZ5wOLFQGEhACBGYdABIJtH01XfM8fRmwAiHvkrDtT1wvDh\n8wBEIC6uNxoaDgCIQGtrOw4fPoG0tDSEhzd2eV7ttplfp2XZuv1bkPxTFeJCQtBwtg21vTLRHt3P\n9PvUs2c7EhMTfLptIeLn2NqzFT1DQnDybBuOiV9gy+Pb0FC01uufU6C9zmzbdvbsaYSEhAXFPtW5\nKIfd8fM16nWRkWrDA3XwZPoDf/1ZNts/lKa4MHpKI29ONeNs6ip31+eN6WjctfAvJSJ5zJUi5OIx\nndMr5ebabo9IT1c8tiPS0lSnZsLoHIFf/kpg2DiBYb8RGHyJwLmzBTKvFxhypUD0BgFsEkBBx+qs\nt5Ue03LbzK9zvWws/iKmIcHu+E5DuojF1ADYp6dMtm3e+5wC73Vm3Dal8mKWbQu015l52zx5nfUP\nQggP4h5PXuyvP38Ga76Ys89b8+b5ItD0JWvgef3PMsTo+GSR8PNzBcZd6XR+zdicHDHNIWCbGhsr\nYgec2xGAXSsweHrn7SH5AtFzZYsX6ritZ9lAeZ3rZUfgZ4rfkRHIDdh98vfrYrFOjMDPRDayxQiM\nE7GYZppt4+fEfeKxcHbb+gchBOcG9RlfNFF6a4SUmUdv6qU4vVd7C96dNweNgOr8mo2TJuHdtWuR\n1bcvYlpbcSoiAlVNoWisXgzsuxxAcccfZLeLO9dl95VxdVvPsoHyOtfLxuAslMSgucuyWt4vFmUY\nimWIwS6cwjZUIR+NPt4nf74uFrtxFV7BGvwI4EcAwHQk4l2UoRET/LptZit7gfc6M2+br19n5m3z\n5HXGMH6NQc5Xneq90WnV7KM39VAKPNc0NiJr7VrLqE153zIhLP3OCh4CmsPReDIV28N/AiLOB+oB\n7G8AmqyjNuV9C9qcPKbldjC+zvWypxACJacQ1WVZV7dj8S2uwiqsgfWz3ovpqMa7+B80Onmd+/tU\n7WJZd9/D/dcNxdaOQK3TGtQhC8uxHRP8um1mK3u+f51SeTHLtgXa68y8bZ68zhjKZ9VuYnNZGe7P\nzUVxTg7uz83F5rIyl68Zl5+PwowMu8cKMjJwhQk61QPO98nsoze1KH50GVJ+dRX++9+tis/bBgpk\nZloCtBUrgH+8BPzfeuCLQuDzAuCHDODbhcCOWOC7EqDpBgCFHWsYp3Bb6TEtt4Pxda6XrcLvMR0J\nkJuGdFQhTve2DcWPskDNYg2qMRR7vLRPIww5FrGYhhHIRTbWYQR+jliUubltQIztuNmLwTcG7X+g\nvM6M26ZUXsyybYH2OjNvmyevM4YkhDB0hb4gSZLwdLsVc5llZCC3pMTlXGmby8rwvqyJ8gqT5NVx\ntU9KzxdkZGC8bJ/NrPjRZVi8oRJtBfkYMXMmth061GWZrLQ0bH/55c4HHlyKgYdikBQdC0mKRM+e\nvdDQcACSFImWljYcPlyPtLRUhIc3dnne3WWD/XValq3bvwUpP1XZRpbV9spEW3Q/3duW/t27WHeq\n6+c8KX4g9v381z7dJ62vi2ipwznfr8MLrSdt23tdRBy+P2cCWiJ66H6/5B/fQ3ld1ynP/rdnX5w4\nZ2JAliEzfE5meZ2Zt43HwpjXRUW1Y/36hyGEkNz+AfSkw5u//iyb7RlXAwUCsTO+lsEPZhu9KWcd\nyRmfPVFEXzhKRP/PWLvbyBrTOVDg8su7DhRITxexN98sMPoSETn6CpE85iqx8C8l/t4t8oAvBvQY\nzeht9taAIyLyHXCAgXtc9d8KxM74Wvqk+TOBY/Gjy/D02++hLTwCrXVHgPAIRMQmorXuCFrbW9De\nLw1Y/Gdgxw5g2zZg3jw0yW5j5UrbuhrT0/Hur39tmQLq+HGcOn0aVUOHovGznVg4dQaK78m3Levr\n+R7JOL7O5WdEWTG6b2igT8kUzHhuIV/ptsGaq/5bgdgZ34x90qwB2smmBrT2ilMPxiQJuOkmy4u2\nb+9MOiu/7TDCs3HbNsusAx3CFpdg4dSJdoEaBbZADFS88T0MlCz5ROQd3TZYc3XFbsbAxxWzzCig\nGKCVljoPxmS1ZggNVb6tMFk6CooQiWjESuG449pcxUCNV76BzZeBihFlxSzfQ/I+nlvIV7ptsObq\nij0QT7hmqIWwDQJwDNDUAjDrbbX5N+W3rQHaihVA9T4kIwZ3TJzKmjQyFTN8D4kouHTb0aBamHXU\np5ml/Ooq1C7+s+WOfFJ0eeCmdFveN03tdoewxSUo/PVlmoM09ishrVhWSA+WF9JKkiSPRoN225o1\nLdhPRJ/iR5ehFqc7H1CZRUD1NmCpNdt3EKHH6hBx10LbAAR03A47c0a1uZOIiCgYBUXNmlo+NPK+\nLv3Teid31po51ort2AGseR2RiEbIqZN2o0GttxmMERFRsOn2NWuKiWA7bjNgM45S2o32s+1dBxDs\n2OF8EAD7mBEREekS8NNNqeVDe3/5cj9tUfCxDhqoXfxn1E++DE0XZKDpiUVo/eXPgPs6+qdZBwrI\np3lauRJ46VUsnDgVzVvKcey/ZX4J1CorK33+nhSYWFZID5YX8pWAr1kLxHxogaT40WVY9Npq4IlH\nLA/I027IR3U6jtrsqFVLLnycNWlEREQeCPiatUDMh2Z21snSI4dfgkUV7wHn/6LzSbUAzTpQQCZs\ncQnuuDbXy1vrGkdrkVYsK6QHywv5SsDXrAViPjR/sBsIENKOyIieip38FfuhlZZ2rkhthKeOJLVE\nRESkXcAHa0xA6ZotUe20XNvozBa1+TeVEtmqpdoIkAEEzIVEWrGskB4sL+QrARus3Z+ba0vRwXxo\nnZRGbTaFtAGPLbYEYkpzbrrqhyafOSAkBPjya0TL856ZMEAjIiIKFgEbrD1cXs4UHR1cTZZum3fT\n1ZRPgPNmzsxMy+wBs24IqOCMV76kFcsK6cHyQr4SsMEaYEnRUbR8ebcO1lTn4pTXllkDMC3zb7If\nGhERkakE/GjQ7pqiwzpic9G/1qCtoCN4UqstswZg8hGbaretedIKihBZsATJr5b7PU+ap5gLibRi\nWSE9WF7IVwK6Zg0I3hQdSn3PrKM2W9tb0N4vzdLcaW3iBNRry6w1ZJ9+CnyzC7irAJERsZbRoGrz\nb7IfGhER0f9v7+6D7KrLA45/H9iNREBSQwuU4oSZYmscTEILUpEaKjVAawApYNFKlHGYUQiinSBQ\nSywTanCkEGn5o4ChapWXKhPqEEDIDlSsDC/ByEt5GTIQTFEyBLCVsoGnf5xzk7u7dzf3Jrv3nnvv\n9zOzk/O2d3+beTg8Ob/nPL9K6N61QSlbdFxxRc9Ng26d2rxg8cjas9p2xLbpzvqpz0bX1qZCKfqe\nXXj0USZhkiS10c6uDdq1ydrfLFjAn/Zoi469jziOTcvKZZzqk7Ha9sqVsGhRcazJxdJdIF2SpM7o\n24XcL169utNDmBQNW21M385bm42mOK+9Fp5+lpns7hTmKPZCUrOMFbXCeFG7dP0LBt1q6fIVvHXO\nH/HlNbeNWSCdWftvu7BRHdropZ3mzGFg46tctPAjXfsSgCRJaqxrp0G7cdxj+qH91szWas9Gbz/w\nADz7PNN/tYUlJ59kkiZJUgX17TRot2nYD63+Tc766c76qc1nNjD9lV+P/9bmwuNN0iRJ6mEma1Ng\nwiWfoHHtWf02bF0xYOaFX+XFh+9qz8B7lHUlapaxolYYL2qXytWsRcTSiNgQEQ+VX8d0ekzNmrAO\nbfZB2y5sVHs2ug6NotXGWQsXtGn0kiSpiipXsxYRFwGvZuZlE1xTmZq1puvQJqpJK2vPdn3xJabt\ntqetNiRJ6iG9WrO2w79QO7VUh7bdNTetPZMkSWNVNVk7OyI+AdwPfCEzN3d6QI1cuWp1kajB9uvQ\n7IfWMdaVqFnGilphvKhdOlKzFhF3RMS6Bl8LgauAA4G5wEbga50Y40Rqi6hv2qVuEflm6tDshyZJ\nklpUuZq1ehExC7glMw8edTxPP/10Zs2aBcCMGTOYO3fu1n/hDA0NAUzJ/tLlK7j4xht58+MnFbVm\nZ5wBa9fCU0/B5s3FNOdNN8ETT8Drb7Driy+x6/AbDE7fk91234uzFi5g/nvfM2Xjc99999133333\nO7tf216/fj0A1113XW+tDRoR+2XmxnL7XODQzDxt1DUde8FgxLqdE6zLWdSh+YKAJEn9rhdfMFge\nEXOBBJ4BzuzweEbYMjht286o5rUz35xuHVoFDQ0Nbf1XjzQRY0WtMF7ULpVL1jLzE50eQyO1Fh0v\nD7888kR989of/aAzg5MkST2rctOgzWjXNOiYHmrnLxk79UnRvPbCo4/yiZokSRpjZ6dBTdbGsbWH\n2gWLRza0hW2NbGstOKxNkyRJ49jZZG2XyRxML7ly1eoiUYORzW2hmPr81KfYa3CGLTi6QP3bOdJE\njBW1wnhRu5isjWPEiwSjF1kvDQwPt2k0kiSpX5msjWNg+PVtOy6y3tV8W0vNMlbUCuNF7WLN2jhG\n1KyBPdQkSdIO8QWDKVS8DXobWwYHGRgeNkHrUvZCUrOMFbXCeFGzerEpbsfVWnZsGZzGAMnnjv0T\nkzRJktQRPlkbZcz0JzBwyQou/OB8EzZJktQyp0En2Yi1P+u4QoEkSdoR9lmbJEuXrygStV1ea3h+\ny+Bgm0ekyWIvJDXLWFErjBe1S1/XrI1ZTmrZkmK1ggbsqSZJkjqhb6dBx11OyrU/JUnSJPJt0BbV\nnqZtGn4ZLl1WHKxfTmrOnOLPa6+FZzYw883ptuyQJEkd01c1a7WnaZuWLYHZB207MXo5qXLtz5lv\nTnftzx5gXYmaZayoFcaL2qWnn6yNqEnb5Q3YJeDSS4qT9QlabTmpUVOfLiclSZI6rWdr1rbWpP3Z\nB7bVoK1cCYsWFReMrk1zOSlJkjQFrFkbx5WrVrOl9nZnLSGrf5pWX5v29LPMZHfOOv5kEzRJklQp\nPVezNqZfWv3LA7Xpzpo5cxjY+CoXLfyItWk9zLoSNctYUSuMF7VLTzxZm7Bf2vaepjndKUmSKqzr\na9a22y/t0EPtmyZJkjqm72vWttamQeN+aQ88AI89CX99AW+ZtocvD0iSpK7S9TVrWwanbdsZr1/a\nbnuT99/La/febm1aH7KuRM0yVtQK40Xt0vXJ2sDw69t2Rr9AgP3SJElSd+utmjWwX5okSaqUna1Z\n6/pkDWpvg97GlsFBBoaHTdAkSVJlmKxJ2zE0NMT8+fM7PQx1AWNFrTBe1KydTda6vmZNkiSpl/lk\nTZIkaQr5ZE2SJKmHmayp59kLSc0yVtQK40XtYrImSZJUYdasSZIkTSFr1iRJknqYyZp6nnUlapax\nolYYL2oXkzVJkqQKs2ZNkiRpClmzJkmS1MNM1tTzrCtRs4wVtcJ4UbuYrEmSJFWYNWuSJElTyJo1\nSZKkHmaypp5nXYmaZayoFcaL2sVkTZIkqcKsWZMkSZpCfVuztnT5CvY+4jhmzD+BvY84jqXLV3R6\nSJIkSZOua5O1L9+1mk3LlvDy0s+xadkSlt05ZMKmhqwrUbOMFbXCeFG7dG2yxvlLRuxuuWAxV666\nrUODkSRJmhpdW7PGmjVjju+19HI2D93cgRFJkiQ11rc1a40MDA93egiSJEmTqnuTtauvHrE7sOwK\nzlq4oEODUZVZV6JmGStqhfGidhno9AB22KGHwgVf4i1MZ48Y5KyFC1h63uJOj0qSJGlSdW3N2sz3\nHWeCJkmSKm9na9a6NlnrxnFLkqT+4wsG0nZYV6JmGStqhfGidjFZkyRJqjCnQSVJkqaQ06CSJEk9\nrCPJWkScHBGPRMQbEXHIqHPnR8STEfF4RHyoE+NTb7GuRM0yVtQK40Xt0qkna+uAE4G76w9GxGzg\nVGA2cAzwTxHh0z/tlLVr13Z6COoSxopaYbyoXTqSCGXm45n5RINTxwPfyczhzFwPPAUc1tbBqeds\n3ry500NQlzBW1ArjRe1StadWvw1sqNvfAOzfobFIkiR13JQtNxURdwD7Njh1QWbe0sJH+dqndsr6\n9es7PQR1CWNFrTBe1C4dbd0REWuAL2Tmg+X+FwEy8yvl/mrgosz8yajvM4GTJEldY2dad1RhIff6\nwa8C/jUiLqOY/jwIuG/0N+zMLyxJktRNOtW648SIeA44HPhBRNwKkJmPAjcAjwK3Ap+x+60kSepn\nXbmCgSRJUr+o2tug2xURx5QNc5+MiPM6PR5VS0Ssj4ifRsRDEXFfeeztEXFHRDwREbdHxIxOj1Od\nERHXRsQLEbGu7ti48WGT7v41TqwsjYgN5f3loYg4tu6csdLHIuKAiFhTNvz/WUQsLo9Pyv2lq5K1\niNgVuJKiYe5s4C8j4l2dHZUqJoH5mTkvM2s9+r4I3JGZ7wTuLPfVn75Bcf+o1zA+bNLd9xrFSgKX\nlfeXeZl5KxgrAmAYODcz301R4vXZMj+ZlPtLtwXTYcBTmbk+M4eB71I00pXqjX4BZSFwXbl9HXBC\ne4ejqsjMe4CXRh0eLz5s0t3HxokVGHt/AWOl72Xmf2fm2nL7V8BjFC9KTsr9pduStf2B5+r2bZqr\n0RL4YUTcHxGfLo/tk5kvlNsvAPt0ZmiqqPHiwybdauTsiHg4Iq6pm9IyVrRVRMwC5gE/YZLuL92W\nrPk2hLbniMycBxxL8Rj6yPqT5dvFxpEaaiI+jJ3+dhVwIDAX2Ah8bYJrjZU+FBF7AP8GnJOZr9af\n25n7S7cla88DB9TtH8DIzFR9LjM3ln/+Evg+xWPlFyJiX4CI2A/4RedGqAoaLz5G329+pzymPpWZ\nv8gScDXbpq2MFRERgxSJ2jcz8+by8KTcX7otWbsfOCgiZkXENIrivFUdHpMqIiLeGhF7ltu7Ax8C\n1lHEyOnlZacDNzf+BPWp8eJjFfDRiJgWEQcyTpNu9Y/yf7Y1J1LcX8BY6XsREcA1wKOZeXndqUm5\nv1RhBYOmZeaWiDgLuA3YFbgmMx/r8LBUHfsA3y/+m2EA+HZm3h4R9wM3RMQZwHrglM4NUZ0UEd8B\nPgDsXTbm/lvgKzSIj8x8NCJqTbq3YJPuvtIgVi4C5kfEXIrpqmeAM8FYEQBHAB8HfhoRD5XHzmeS\n7i82xZUkSaqwbpsGlSRJ6isma5IkSRVmsiZJklRhJmuSJEkVZrImSZJUYSZrkiRJFWayJqnyykbY\n67Z/5ZSPY05EHFu3/+GIOK+TY5LU+0zWJPWliNiRpuDzgONqO5l5S2Yun7xRSdJYJmuSKiciPh8R\n68qvcyg6xg9ExLci4tGIuDEippfXfiUiHomIhyPiq+Wx34yImyLivvLrfeXxpRHxzYj4D+Bf0bxP\nsQAAAtZJREFUIuLHETG77ucORcQhEXFoRNwbEQ9GxI8i4p3lEnd/B5waEQ9FxCkRsSgivl5+76yI\nuKscxw8j4oDy+MqIuKL8nKcj4qTy+H4RcXf5Wesi4v1t/CuW1EVM1iRVSkT8AbCIYpHsw4FPA78B\n/B7wj5k5G3gF+ExEvB04ITPfnZlzgIvLj7kC+IfMPAz4C4pFt2t+H/hgZp4GXE+5/Eu57uO+mfkg\n8DhwZGYeQrHM0CWZ+TrwJeC7mTkvM2+gSCJrvg58oxzHt4EVdef2zcwjgD+nWH4G4DRgdWbOA94D\nrN3hvzRJPa2r1gaV1BfeD3wvM38NEBHfA/4YeC4zf1xe8y1gMXA58FpEXAP8e/kFcDTwrnKdWIA9\nI2J3iuRqVWb+X3n8BuB2YClF0nZjeXwGxZO33y2/p3avjPKrkcOBE+rGd2m5nZSLN2fmYxGxT3n8\nPuDaiBgEbs7Mh7f/VyOpH/lkTVLVJGMTomTkU6wAMjPfoHgCdxPFU6vVdeffWz4Bm5eZB2Tm/5Tn\n/nfrh2b+HNgUEQdTJGvXl6cuBu7MzIOBDwPTmxz7eInc66Ovycx7gCOB54GVEfFXTf4MSX3GZE1S\n1dwDnBAR08unYSeWx94REYeX15wG3FOen5GZtwKfB+aU52+nePIGFG9xTvDzrgfOA96WmT8rj70N\n+Hm5/cm6a18B9qzbr0/O7gU+Wm5/DLh7ol8yIt4B/DIzr6aYpp030fWS+pfJmqRKycyHgJUU04T/\nCfwz8BLwX8BnI+JRYC/gKoqk6paIeJgioTu3/JjFwB+Wxf6PAGfW/4hRP/Im4FSKKdGaS4G/j4gH\ngV3rvmcNMLv2ggEjn/idDXyyHMvHgHPG+Zm17aOAteXPOIWizk6SxojM0fctSZIkVYVP1iRJkirM\nZE2SJKnCTNYkSZIqzGRNkiSpwkzWJEmSKsxkTZIkqcJM1iRJkirMZE2SJKnC/h9FuSVzObhZAQAA\nAABJRU5ErkJggg==\n",
       "text": [
        "<matplotlib.figure.Figure at 0x10d2d27d0>"
       ]
      }
     ],
     "prompt_number": 2
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "We can see that we are systematically overestimating low values of $y$ and vice versa (red vs. cyan). This is caused by our use of censored (blue) observations, which are exerting a lot of leverage and pulling down the trendline to reduce the error between the red and blue points.\n",
      "\n",
      "## OLS using uncensored data\n",
      "\n",
      "A simple way to deal with this while maintaining analytical tractability is to simply ignore all censored observations. \n",
      "\n",
      "$$\n",
      "\\begin{array}{ll}\n",
      "  \\underset{c}{\\mbox{minimize}} & \\sum_{i=1}^M (y^{(i)} - c^T x^{(i)})^2\n",
      "\\end{array}\n",
      "$$\n",
      "\n",
      "Give that our $M$ is much smaller than  $K$, we are  throwing away the majority of the dataset in order to accomplish this, let's see how this new regression does."
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "c_ols_uncensored = np.linalg.lstsq(X_ordered[:M], y_censored[:M])[0]\n",
      "fit_ols_uncensored = X_ordered.dot(c_ols_uncensored)\n",
      "plot_fit(fit_ols_uncensored, 'OLS fit with uncensored data only')\n",
      "\n",
      "bad_predictions = (fit_ols_uncensored<=D) & (np.arange(K)>=M)\n",
      "plot(np.arange(K)[bad_predictions], fit_ols_uncensored[bad_predictions], color='orange', marker='o', lw=0);"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "metadata": {},
       "output_type": "display_data",
       "png": "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\n9wYA9O/fHyEhIdi5cyduuukmzJw5E25ubhg0aBCSk5P1ateSk5MxePBguLu7Y+rUqThy5Ihu32tq\navD777+jtbUVN998M8LDw6FWq7Flyxa8/PLL8PPzQ2xsLJ577jl89NFHunVGRkbi6aefhpubG7y8\nvPDf//4Xq1evRlBQEPz9/TF//nxs3rwZAPDJJ5/g4YcfRr9+/eDr64ulS5caPSalpaU4fPgwli9f\nDk9PTwwfPhxjx47VO1YpKSnw8/ODp6cnlixZgqNHj6Kmpsbocb3//vsRHh4OAJg4cSJ69+6NH3/8\nUXD7GzduxOLFixEWFoawsDAsWbJE73Ob+7612546dSpyc3OhUqkAAB999JHTO0lQDhKxBpUX4igu\nEawZG/PEndcEZe91hIWF4erVq2htbW23rLy8HN26dTO7jr59+2L9+vU4d+4cjh07hrKyMsydO9ei\n7Vtr6NChOHXqFC5fvowjR45gxowZOHfuHCoqKnDo0CFdk6clQkND9YJUX19f3QW6I7RBheG6zp8/\nD4VAD5yzZ8/i4MGDCA4O1v3buHEjLl26BEDTLNejRw/d6318fHTrvPvuu/HMM8/g6aefRo8ePfD4\n44+jpqYGV69eRXNzM2JjY3Xvi4mJwYULF3SP+b1gr1y5grq6Otx22226fbj33nt1QXp5ebne62Ni\nYox+/rKyMgQHB8PHx0f3HH8/1Go1XnzxRfTq1QuBgYG46aabAMDkDcGGDRtw66236vbt2LFjqKio\nMLp9w89dVlame2zp9x0ZGYl//OMf2LZtG65du4Zdu3Zh6tSpRveREEKkIjc/H8rZs5E4Zw6Us2d3\nen0uEawZG/NEbST53h7riI+Ph5eXF/73v//pPa9SqbBr1y7cc889Fu8LANx8882YOXMmjh07ZtX7\ntMz1yPP19cVtt92Gt956C/3794enpyeGDRuGVatWoVevXggJCenQds3x8/NDbW2t7vHFixctfm/P\nnj1x+vTpds/HxMQgISEBVVVVun81NTV4++23LVpvamoqDh8+jBMnTuDUqVN4/fXX0a1bN3h6eqKk\npET3utLSUkRHR+se849xWFgYfHx8cOLECd0+XLt2DdevXwcAREREoLS0VG9dxkRERKCqqgp1dXW6\n586ePavb3saNG/H5559j7969qK6uxp9//gngRo2W4Xd/9uxZPPbYY3j77bdRWVmJqqoq3HLLLUZr\nZyMjI9t97sjISKP7a8rMmTORk5ODrVu3YtiwYYiIiOjQemyFcpCINai8ECG5+fmYs2kT8pKTsX/C\nBOQlJ3d6nS4RrAmNebJAocDI1FSHrSMwMBBLlixBamoqdu/ejebmZpSUlGDixIno2bOnXvNPa2sr\nGhsb0dDQgIaGBjQ2NuLkyZNYvXq1rubm3Llz2LRpE+Lj4y3+DHw9evRAsZnpMBISEvD222/rmjwT\nExOxdu1ak02glqzXlEGDBmHz5s1oaWnB4cOH8b///c/ioR5mzZqFtLQ0nD59Gowx/Prrr6isrMSY\nMWNw6tQp5OTkoLm5Gc3NzTh06JBuKBNTTcaHDx/GwYMH0dzcDF9fX3h7e8Pd3R1ubm6YOHEiFi5c\nCJVKhbNnz+LNN9/EtGnTBNfj5uaGRx99FHPnzsWVK1cAABcuXEBeXh4ATdNjdnY2fv/9d9TV1Zls\nBo2NjcXgwYOxZMkSNDc349tvv9VL1FepVPDy8kJISAhqa2uxYMECvff36NFDrwNFbW0tOI5DWFgY\nWltbsX79epM3AQ8++CBeeuklXL16FVevXsWyZcssbr40PNYTJkzAzz//jDVr1mDGjBkWrYMQQsRs\nzY4dKLZxK4FLBGtCY56MzsjQ61briHX85z//wcqVK/H8888jMDAQQ4cORWxsLPbu3QtPT08AmlqP\nTZs2wcfHB76+vvD19UXv3r0REBCAgwcP4o477oC/vz/i4+MxYMAArFq1SnBbQuNZ8R/Pnz8fL730\nEoKDg7F69WrBdSQkJEClUumaPEeMGIHa2lq9JlDD7aSnp2PmzJkIDg7Gtm3brB5Xa/ny5SguLkZw\ncDDS09PbNYuZWte8efMwceJEjBo1CoGBgXj00UfR0NAAf39/5OXlYfPmzYiKikJERATmz5+v68Fo\n6lhdv34djz32GEJCQhAXF4ewsDD85z//AQBkZmbCz88Pf/nLXzB8+HBMnToVDz30kNF1vvrqq+jV\nqxeGDh2KwMBAjBw5EqdOnQIAjB49GnPnzsXdd9+NPn364J577jH5WTdu3IiDBw8iJCQEy5Ytw8yZ\nM3XLZsyYgdjYWERFReGWW25BfHy83roeeeQRnDhxAsHBwUhOTka/fv3w3HPPIT4+HuHh4Th27Bju\nvPNOo9tetGgRBg8ejAEDBmDAgAEYPHgwFi1aZNF3ZHhcvL29kZycjJKSEiTb4O6zsygHiViDygsR\n0miHsSS5ziaiOwPHcUxov+05dhghxD6WL1+OP/74Axs2bDD6Gkf9tgsKCqhpi1iMyos0FebmIm/N\nGng0NqK603y+AAAgAElEQVTFywujZs+2quLFHOXs2e2bPu+6C4yxDkdxNCguIcRpKisrsW7dOr3e\npM5EF15iDSov0lOYm4vdc+boje6wsO1vWwVss8ePR/HHH9u0KZSCNUKIU/z3v//Fs88+ixkzZphs\ndiWEEFsxNgxXWmamzYK1pLvvBgBkbt+OBgDeAHabfId5Tm0G5ThuHYAkAJcZY/3bngsBsAVALIAS\nABMZY9cM3kfNoIS4EGoGJWJE5UV60hMTkd42Zqje8wkJSLdjDmLbOazDzaDO7mCwHsBog+deBLCH\nMdYHwN62x4QQQgghnWKLobycwanBGmPsGwBVBk//G8CHbX9/CGC8Q3eKEOKyqJaEWIPKi/TYYigv\nZxBjzloPxtiltr8vAehh6sWEEEIIIZbQ5qWlZWbCvaEBam9vjE5N7XC+mr17lmqJMVjTYUwzMbiz\n94MQ4hooB4lYg8qLNI1ISrJJQOWInqVaYgzWLnEcF84Yu8hxXAQAwZnKU1JSEBcXBwAICgrCoEGD\nAJifRokQIm3agUi1F0l6TI/pMT12xuO8NWswsrgYBQA0S4GRxcX479KlaPXzQ0FBgd7UfJ3h9EFx\nOY6LA/AFrzfoawAqGGOvchz3IoAgxtiLBu8R7A1KCCGEEOII6Vb0LJV0b1CO4zYB+B7AzRzHneM4\n7iEArwAYyXHcKQB3tz0mhBBCCBENR/YsdXZv0AcZY5GMsS6MsZ6MsfWMsUrG2D8ZY30YY6MMx1gj\nxFoFBnc4hBhDZYVYg8qLa3Nkz1Ix5qwRQgghhIiarXuWmuL0nLWOoJw1QgghhEhFZ3PWqGaNEEII\nkSFHjQFGNHLz87Fmxw40chy8GMPs8eN184R2FgVrRPYKaCwkYiEqK8QaYi4vjhwDjGgCtTmbNqF4\n6lTdc8UffwwANgnYnD03KCGEEEJsLG/NGr1ADQBWFBdjT2amk/ZI3tbs2KEXqAFA8dSpyPzsM5us\nn4I1IntivfMl4kNlhVhDzOXFo7FR8Hn3hgYH74lraDQyIL+tjjY1gxJCCCEy48gxwFyNUC6gl5FO\nj7Y62lSzRmSPxkIilqKyQqwh5vLiyDHAXIk2F/ClvDyk79+Pl/LysHvOHIwMD4eiLUdNS5GTg9Rx\n42yyXapZI4QQQmTGkWOAuRJjuYBphYXI+L//Q+b27WiApkYtdcoUm/UGpXHWCCGEEEIsYM18oHyS\nnhuUEEIIIUQqnJULSMEakT0x55UQcaGyQqxB5cX1OCsXkHLWCCGEEEIs4KxcQMpZI4QQQgixI8pZ\nI4QQQgiRMQrWiOxRXgmxFJUVYg0qL8RRKGeNEEIIIaQDcvPzsWbHDjRyHLwYw+zx4202thof5awR\nQgghhFgpNz8fczZt0pvAXfHxx8h48MF2ARvlrBFCCCGEONiaHTv0AjUAKJ46FZmffWbzbVGwRmSP\n8kqIpaisEGtQeXFtjZxwRVmDHbZFwRohhBBCiJW8jKRj2WMuA8pZI4QQQgixkmDOWk4OMgQmcO9s\nzhoFa4QQQgghHZCbn4/Mzz5DAzQ1aqnjxgn2Bu1ssEZDdxDZKygoQGJiorN3g0gAlRViDSovrslR\nw3XwUbBGCCGEEGIBoabP4o8/BgC7BmzUDEoIIYQQYgHl7NnIS05u//z27diVkWH0fTTOGiGEEEKI\nneXm5+PH4mLBZfYYroOPgjUiezQWErEUlRViDSovrkPb/HktJERwuT2G6+CjYI0QQgghREBufj6U\ns2dj+iuvaPLUBg8GPvhA7zWKnBykjhtn1/2gnDVCCCGEEAN6nQmys4GUFM2Co0eBn34C3NwQXF6O\nj154AUl3343C3FzkrVkDj8ZGtHh5YdTs2RiRlASAhu4ghBBiQ6YuOMQ56DuxD3PHVW/uT7X6xhsH\nDtT8A3D79u26QG33nDlYwctpW9j2ty2+KwrWiOzRWEjEUq5eVux9wZEbR5QXsX8nUg0kLTmuenN/\naps/Z83SPaXIyUHqlCkAgLw1a/TWBQAriouRlplJwRohhBDbsfcFh1hPzN+J2ANJUyw5rnpzfw4c\nCP/jx9F3yhQENjTAMyAA9zz+uG5sNY/GRsHtuDfYpp8odTAgsufKNSXEOq5eVux9wZEbR5QXMX8n\nxgKePZmZTtojy1lyXGePHw9F24C3/gcO4F+5uThUXo6vq6rwVWkpqtatQ2FuLgCgxctLcH1qb9v0\nE6VgjRBCCAD7X3CI9cT8nYg5kDTHkuOadPfdyHjwQSi3b0f8u+9iS1mZ3mv5gemo2bOxUKHQW75A\nocDI1FSb7C81gxLZc/U8JGI5w7Ii1Xycjho1ezYWFhfr1ZYsUCgw2kYXHLlxxLlFzN+JmANJc0wd\nV6G5Pw8dPQqUlrZbjzYw1Z4X0jIz4d7QALW3N0anptrsfEHBGiGECJByPk5H2fuCQ6wn5u9EzIGk\nOYbHtbyuDkU9euDzjz7CmcZG1M+Zo3tt8ccf457aWsH18APTEUlJdvteaJw1QggRsEipxEt5ee2e\nT1MqsXzXLifsESHiU5ibiz28QHKkSAJJa+iNp5aVBTzySLvXjFi9GneeONE+MM3IsOjz0jhrhBBi\nB1LOxyHEUexZm+QoeuOpubsLvoa76SYoH3/caTWcFKwR2aOcNWIpflmRcj4OcQw6t8iD3nhq/MFv\nebzh3MCUeoMSQogAe/fuIoSIg954agZzf/ofOIDh06ahd0EBFimVuqE6HI1y1gghxAg55OMQQkzT\ny1kDgKNH4fP55/gLYxjy889YX12te+1ChQJKC/PU+Dqbs0bBGiGEEEJcDn+IjusXL4Lr0gUBISHw\nBpA6bhwOvPqqzToZUQcDQsygvBJiKWvLiquNw0b00bnFNpzxO2pXmwZA8fHHWDZunG4KqUPLlgm+\n1xmdjChYI4SQDnDFcdgIsTVn/Y70eoC2KZ46FZnbt+uCNTF1MqIOBkT26M6XWMqasiLleRGJbbjS\nuaUwNxeLlEqkJybaNNHeWb8jvR6gPPw6MzF1MqKaNUII6QAah424CnvWfjnjd5Sbn49jv/8OTJjQ\nbhm/zkxMs0dQsEZkj/JKiKWsKStiaiIhzuEq5xZjtV9pmZmdDlwc9TvSdia4cPmyZjqppCTNEB2z\nZuleo8jJQeqUKXrvE8ugvxSsEUJIB0h5XkRCrGHP2i9H/I7aTSf1xBM3Fq5bB7i5IbS8HBkvvKDL\nVxMbCtaI7LnCnS+xDWvKipiaSIhzuMq5xZ61X474HRmdTmrgQM0/ALfwOhaIEQVrhBDSQWJpIiHE\nnuxd+2Wv35G26fMgvwnXxHRSYkbBGpE9V8krIZ1HZYVYw1XKi6W1X84ad9BwcFt4eqKppUWTmzZn\njqbpU0s7nZSZXDWxoWCNEEIIISaZq/1y1nhpevloR48CFRWaQIyfm8YP0NqaPX2WL4ciOhpRQUFI\nnTJF1E2gAE03RQghhJBOWqRU2mxqJkvl5udj5iuvoGLBAs0TWVnAI49o/s7OBlJSbrz46FHgp58Q\nWFGBob16IZU3U4Ej0HRThBBCCHEqR4+Xpq1Rq4iM5G2M13nAMDetrTPB0O3bsSsjwy77ZE80gwGR\nvYKCAmfvApEIKivEGlRebnD0uIO6Hp78oIz/t7bpk0eRk4PUcePssj/2RjVrhBBCRMFZCeqk8xw9\n7qBuuih+PpoMctOMoZw1QgghTieYoK5QQJmRQQGbRBTm5mIPr8foSDuMO6jt+XmoqAhV2ly1tnw0\nuLnB//Rp9LnpJgSEhMAbcHhumjGdzVkTbbDGcVwJgOsA1ACaGWO385ZRsEYIITLijAR10jGOqAE1\nOxzH0aPAoUPthuDIEGntmZw7GDAAiYyxSmfvCJE2VxkLiXQelRXnccaE3p3liuXFnkN0tJu/UxuU\nCQ3H0dbMiXXrEFxRgdt79ZJ0M6c5Yu9g0OEolBBCiHQ4OkGddIyxSd33ZGZ2ar3a3p15yck47ump\nCdQA4PDhG7Vn/N6egCZge/hhDOjVC7syMmQbqAHiDtYYgK85jjvMcdyjzt4ZIl2ududLOs4Vykph\nbi4WKZVIT0zEIqUShbm5zt4lAG0J6gqF3nMLFAqMtFOCui24QnkxZI8aUO14aYLzd5oajqONK4Tz\nYm4G/QdjrJzjuG4A9nAcV8QY+8bZO0UIIVLlrFHmLeGICb1J59mqBrRdkyd/vDRzw3FIbKooWxBt\nsMYYK2/7/wrHcdsB3A5AF6ylpKQgLi4OABAUFIRBgwbp7nK0Y9/QY3oMAG+99RaVD3ps0WPt32LZ\nH1s/zluzBiOLi1EAILHtc44sLsZ/ly7VBUXO3L8RSUlo9fNz2vatfSz38iL0uFtiIqYdO4acsjLN\ncgD/jYzE4201oKben5ufj/S1a3H12jVcCgzUNHWuWAEkJWl6cwLAkSNAYCD809PRt7YWzWVlqP/y\nS5Q9/zxU8fHAH3+gy7x56NO/P6KCgpDQrx/83G40Ejr7+PDLREFBAUpKSmALouwNynGcLwB3xlgN\nx3F+APIALGWM5bUtp96gxGIFBQW6HxIhpsi9rKQnJiJ9//72zyckIJ13kSGWkXt5McaaIToEOw0I\nTQvF693pf+AA/rV6NbZcvapbzwx/f/xx110IvOkm0QzHYQ259gbtAWA7pxn0zgPAx9pAjRBrueLJ\nlHSM3MuKPZP4XXFAW7mXF2OMTepuONxGdU0Nyry80KAN0LQ9OYXy0Hi9O/vu3asXqAHABpUKaU1N\nWC7BqaJsQZTBGmPsTwCDnL0fhBAiJ/YaZV7MuXDE9iwaA62iAggNvVGDZqyjgOGsAwMHImzPHsHt\ninkYF3sTZbBGiC25alMFsZ7cy4q9kviNDeeQlpkp62BN7uWFz6ox0LTDbWRn31iBqQAN+tNCxURH\nAxcvttsHVx7GhYI1QghxIcaasDpDigPayomtm6DfWLkSX7/7LrzValxXq3EuOhrne/Zs35xpbAw0\n7d9WBGipCxfq8tAKc3Ox0KCm1p7zjEoBBWtE9lzlzpd0ntjLijPzwkxt21ED2ootL04M5cXWTdBv\nrFyJI6+8gl01NbrnJtXW4uJ992keWDIGmvZvKwI0PhrGpT0K1gghLktsF39TnJkXZm7b9sqFs2Yf\nXJWtm6C/fvddvUANALaoVBiyfTsOx8dbNgaa4Xho69bB+8oV9AsLwzIjAZohe9QASxkFa0T2XCmv\nhFhO6OI/7dgx4P33RXmRcGZemLltO6ImRIx5cWI4t9i6CdrbyCwBfk1Nmj+MBWUGNWeeLS3gsrIQ\nEBIC7+BgpKak2G24DSnddHUUBWuEEJckdPGfVVaGPSJNindmXpgl27Z3TQjlxQmzdRN0g+H8m21q\nL1/W/GEqKAOMNm3ai6vUuFKwRmTP2Xe+RJyELv6JAApEevF35kTnYphkXQz7YEgM5xZbNUHrenvG\nxWFyZSU219bqlk2MjERRUlKHmjPtTYw1rvZAwRohBlyhSp2I8+JviiPywsS4bTHtgxh1pglacDiO\n5GSc3bgRQ//3P4R6eKDBzQ0VffrgNh8fePv42LU5syNcpcaVgjUie9bklbhKlToRvvhP5c1xKDbO\n7CEnht55YtgHQ2LIWQOsa4I2Ov2TdjgOAKopU3BwyhQot2/HXjvNGGCrm2Kp3XR1FAVrhPC4SpU6\nEb74356QIOrv2Zk95MTQO08M+yBlufn5mLNpE4qnTjU+/ROPveqmbHlT7Co1rhSsEdmz5s7XVarU\niQZd/ElniKFWzRTDaaFOX76MmiVLNAuNjZHGY6+6KVveFIuxxtUeKFgjhMdVqtSJ41AOJLElfjPm\nxcpKREREwLOhAfD0RNfQUNNzdcbG3liRsTHS2ihycpA6ZYpdPoOtb4pd4aaLgjUie9bklbhKlToR\nVlBQALfaWpsFV66aA+kqAaqjc9Zy8/Px7KuvIvDsWYRVVcEnJgZFcXFQqdWaQMvcXJ1ZWTdWZm52\ngSlT7NaRgG6KrUfBGiE8rlKlToQdPXAAl7OybBZcuWIOpLMDVDFMyXXlwgVcu3gRERER8I+MtNk+\nvPbmm7j12DFsKStDIYC8y5cR9/PPOPeXv+D43/4G1YkTpufq7OD0T7ZGN8XWo2CNyJ61d76uUKVu\nD46+SNpje1cKCmwaXLliDqQzA1RrA8XOliH+uUW7bWVxMXYDeA/Q1HIdO9bpYFXb9Nn0ww/YcvUq\nCgHsBrACAFpbgdOnMWntWnzZty9U2jcJTQvVFqBh3TrAzQ2h5eX40AnjpdFNsfUoWCOEdJqja1Ps\ntT1bB1eu2NzjzADVmkDR1mVIu+1FaAuiLNgHU4SG2EjYskWzLYFtbCkrwxDGcFj7hMG0UP7p6ehb\nWwu/5mbUenqiOjgYb774otPGTKObYuu4OXsHCLG3goICZ++C7Bm7SO7JzJTU9op5o7bzdTS4GjV7\nNhYqFHrPLVAoMFLGzT3ODFCtCRRtUYb45xbtto3VgFgSrObm50M5ezZumTwZMxYuROWBAwjbtw9/\nO38e/gcOoDY42OQ2/Hx9NQEaoKlFGzIEPsuX42+ffYYJhw/j0OHDKDh6FIcOH8a/jh9HQH29hZ+U\nOBvVrBEiIlJNzHZ0bYq9tjc4ORkLq6pslkvjis09zshH0v5uTv/6q+ByoUDRXrWoLUaWmwtW+WOg\n+S9din+VlmJLWZlm4eXLmFRWhn3//CcmVVSg99Wrguvwam7GgNJShE2ZggCOQ6OHB+55/HFc278f\nLxnciLxVVibr3Em5oWCNyJ7Yx0LScnZidmc4ujbFXtubM38+CgcMsGlw5WrNPY4OUPm/m0IAC6Hf\nRGgsULRFGeKfW7RBqrK42OJ9AG40dx4qKkLVggUAgL6nTt0I1NpsKSvDkN9/x5fz5qH3+vUoO3MG\n63h5aQsUCoybNg0XcnKworxc9/zCdetQ6+MjuG05507KDQVrhIiElHsOOro2xZ7bc7Xgyh5sfQxN\n1Tjzfzcj2l6fBqA0OBgxt99uNFC0dRnSbmNPZiaunj+PyRcvIjwiAgFRUYL7kJufj7T33sPvTU1o\nmDMHyM7WLfNrEa6f82tqgio+HteLi9EvJQVphYV6AbGxc8ik0FDB9ck5d1JuKFgjsieW+fvMkXLP\nQUfXpthre1IpK5aQapO6Fn8YDO7MGbzLy6/i1zgb/m5GtP1LHzAA6bt2GV2/LcqQYXkRClJz8/Ox\nYscOLM7Laz9grb8/8OSTmhfyaslqg4OBy5fbbY+7cgXK7dtvjIHWVhOnlf/664L7GRQejoVBQS49\nVIbUfw8UrBGXIIUfqtR7Djq6RopqwIyTcpM6oL//iwC8ZLCcX+Pcmd+NvcqQ4GTpQgPW8mrT+L03\ni2bOxKTVq7GFl5s2JzISS99/3+T+GjsW3aOjMTI1tV1gCgCLlEpRnxdtQeq/B4CCNeIC3GprJfFD\npYEibasjAbpUa9UMP2vllSv4fxJtUgf0mzbN9a505u/GsLy0a9oUmkUAuDFILX8sNN4YaJ4VFbgY\nH4/HL15EhK8v1N7euM+CWj9Tx8IwMJVDAGMpKaeYaFGwRmRPKj9UV+w5aC+udCES+qwzjNQqSaFJ\nHdBPCTDXu1Isvxtdb84uXW40bQrNIgDcCNIM5+QcOBCK335DxnPPdWj8M2uOhaXnRSm0Spgj5RQT\nLQrWiOydv3RJ8Hkx/lCpac82OhqgSzFnTeizxhgp21JpUuc3542C+R6ezvrd8MvLmh07UDx1qn7T\nptAsAkD7IG3dOnhfuYJ+YWFY9tBDnRqo1tJjYUkAI5ebHqmnmAAUrBEXoPb0FH5eQj9UYh053Elb\nSuizjgLwpLc33mn7vIUA3vbxQcSFC1ikVIq+doTfnKft4TnJxwcRCoXR3pX2xq9hKq+tRVF4OKq7\ndIHbO+8Anp44U1WleaGxoMzUvJzBwUhNSXHobAKWBDBSaZUwRw4pJhSsEdl7ND0dCw3uDqX2QyXW\n6eidtNRq1QDhzzoCwIa//hVp3bvj8vnz4M6cwZb6euDYMZvMVWlvQs15TzswQON3ELhYWYnwlhb8\n/ccfsYE3sOykyEj8nJQEVV3djU4DgMmgzLOlBVxWFgJCQuANOGzidCGWBDByuekRS1N5Z3CMMdMv\n4LjZAD5ijFU5ZpfM4ziOmdtvQvgKc3Oxh/dDHSmxHyqxjlDzzQKFAqMzMmT3vZv7rIuUSryUl9fu\nfWlKJZabGNpCrrSBWCPH6YbS6Boa2n5YjcRE4NAhYNYsDH7iCRw6ebLduoZERODwxo2aB0eP6l6P\no0eBn36yWdOmvZg7L0qx7Ig1x47jODDGuI6+35KatR4ADnEc9zOAdQB2U6REpKSgoACJlAsmWrY+\nuWrXd9XbG5NCQxFhYmBSQ1LMWTNXayCX2pGOeGPlSnz97rtwb2hAlVqNS3/5C8qjo9sPpSE0rEZW\nli6nzK9KuK6imX8Meb05AysqMLRXL4c3bVrLXH6brZsP7R1IySXHTojZYI0xtpDjuDRo0iBSAKzl\nOO4TAFmMsWKTbyaEEBNsfXIVXF9QkOxrUk1ddOWQXG0NXRPmkSO45eefsYvfdNnUhC+TkzUP+ENp\nCA2rweu9WeshfKms5wwqSgYOBAYOxNDt27ErI8Pkfoq1BojPls2Hjgik5JJjJ8SinDXGWCvHcRcB\nXAKgBhAMYBvHcV8zxv5jzx0kpLOkVlPiSmx9cu3s+uRYVuSQXG2O0CC0g7dtw2aDycu3qFQYsn07\nDsfHmx9Wg9dRoKhPH0wC9ObrnBgZibKkJP1enQAUOTlInTLF5P5KqQbIVj1tHRFIybkW2WywxnHc\nHAAzAFQA+ADA84yxZo7j3AD8AYCCNUJIh9j65Crnk3VHySG52hTd+GZTp+oNQuvX2ir4er+mJs0f\n5obVGDJEF4ipxo/Hl9u3Y0hUFPyamlDb2IgzXbogrrGxfacB7VRQJsi5BsgYR/w25VyLbEnNWgiA\nZMbYWf6TbbVtY+2zW4TYjhTzkFyFrU+unV2fXMuKnMfv041vBug3Xbq5Cb6+VjvnprlhNT7/HN19\nfKB6+WVEhIfDMzwcrZ6eQEgIQgGkjxsHPze3DpUXV7ypsOS32dmmYTnXIluSs7bExLITtt0dQogr\nsfXJVc4nayLck/MMP/mf33Q5ZgwmbdqELSqV7rmJkZEoSkoSHErjegeG1SgoKOjQ55BzDZAx5n6b\ntmgalnMtstmhO8SIhu4gxDwpJDADth9WhYZpkSe95k7+MBlZWcAjj2hexH8egP/Gjfjb//6HIADX\nOQ7XBwxAdP/+SB03zqm9NF1paBk+U79NKQ4TYg1HDN1BCJEYV0xgttf6iDjoNXfye2+amhkgKAip\nW7eKbvgMOdcAGbL0ptEVm4atQcEakT255iGZIocEZmfUDLpiWXE2c4PUav8+de3ajTfxe28KjW/m\noJkBOlNeXOGmwpqbRldsGrYGBWuEyJDU71KlVDPoLFJp5jYVjFXX1KDMywsNpgap1f7dvfuNlfJ7\nbwJWjW9GHMeam0bKNzWNgjUie65YUyL1u1Rn1QxKpaxIJZhtl2dmGICFht7INzM2SK3276NHhXtv\ntrFkfDNbs6S8SCWotgdrbhrF1DQsxu+MgjVCZEjqd6lSrxm0N2c3c5u7mGlr0w4VFaFqwQLNk0IB\nWHb2jZUaG6RW+zevuRNubvArKcHNVo5v5mhSCartxdqbRjE0DYv1O6NgjcieK+YhiekutSOcVTMo\nlbLizGDW8GJWCODtb77BpwoF/CMjEZSQgHf//FNTm2YuGDM2MK2xv9uaOwHgThE0eZorL84Oqp1N\nijeNYv3OKFgjRKLM1W6I4S61o6R4knckZzZz8y9mhQB2A9hSXw8cOwYcO4aUH37ApRdfbNshMwGY\nsYFpjf3dxhlNnh3h6jXEUrpp1J5Pzx88KLjc2d8ZBWtE9qRQU2KtzlTVizEfw5CzTvJSKSvODGb5\nAUgegBUGy7OvX8dx7fyblgZg69bB+8oVRLq5IUhgkNp2A9aKpMnTXHmReu6oLTjzptHScx3/fLrI\nyLqc/Z1RsEaIBHW0ql6s+RhCpFwzaG+OCmaFLnb8AMTYBUQ3/yYvzyy4ogJxAQHCAVhwMFJTUkQR\ngNkS1RA7jzXnOv75dBSAhdC/CRHDd0bBGpE9qeQhWaOjzStizccQCymVFXsFs9rOAddLStA7Px8b\namt1y2Z8/z1+/+tfUernhw21tWgxsg7d/JsAMHAgFL/9hoznnpNdMGauvEipGVBurDnX8c+nI9r+\nTwNwLjAQPYcOFcV3RsEaIRLU0eYVV8+hIZaPezb4iSf0AjUA2KBSYUhNDbYPHowhdXXwOHUKpQ0N\n2MArV9r5N/UGqRVJs6UzUA2xc1hzrjM8n45o+5c2dKhoprqiYI3InlRqSqzR0eYVyqExzdllxV75\nhNoA7cLlyzjT2Ih6Y4PQ8sY98+NPkM7jV1kJ1Tvv4DAAZGfj2M03Y0hmJvy6d0dtly4omjABqvh4\nABDNILX2Oq7OLi9i5uzcWGvOdVJorqZgjRAJ6mjzijNOSs4+aUtFZ/IJhWrLmlpacLGyEv5duuCy\np6cmQMvKAp54QvMmM+Oe1XoIXx70nleroYqPx2FfX70J1IEbPTad/f1LKU9TLsRwzK0510mhuZqC\nNSJ7xvJKnH0R6ayONK84+qQkhpO2NZyZs2ZtPqHJ2rIhQzTB04IFqMjKujFLgLmBZ3nDaxT16YNJ\nALaUlememxgZiaI+fW68z0ivzn5hYVj20EMIqK93+vdvzzxNKeU4OpIYcmOtPdeJvbmagjXikqQW\nRGjZIsB05ElJDCdtqTCVY8MPzCyqLcvKuhFA8YMyK8Y9U40fjy+3b8eQqCj4VVaitq4ORc88A5Wv\n740Ara23p8/y5VBERyPKoFfnIqXS6d8/5Wk6nliOudgDMGtQsEZkT+jOV4pBhBQDTLGctC3lzFoS\nYzk2+0+exGuZmahPTAQqKy2rLTMWoFk57ll3Pz+09uwJhIRAfekS+pw4ITzu2cKFgh0IxPD92zNP\n0+Bfd20AACAASURBVNblReq1/Vr2POZyOUbWomCNuCQxXESsJcUAkzo0WE4ox2ZiZCQO9+lzowbN\n0toyYwGaQU2Yp7GBZ2007pnh918IzUC65379FYuUSodcaKWQPA5I82bMGHsdczkdI2tRsEZkTyiv\nRIpBhBQDTKlcKLXsnYOkrRWovngRf1RVoXrQIDT6+OiGz6iKiMAPdXXg6utR3bu3pmflyZOaN1tT\nWzZkiPGmyqAgozVhtsb//rVTU60AgKoqIC/PIRdae+Zp2rK8SPFmzBh7HXM5HSNrUbBGXJKYgghL\nq/WlGGBKoZeVoxTm5uLTxx7DW7yE/Un19fjyb3+DKj39RueA5cs1vTJTUjQvOnFC8781tWWHD6Ox\npQUXX34ZEeHhDg3Q+Pjf/x8//ojNBsOBOOpCK4XcJSnejJlij2Mut2NkDQrWiOwJ3fk6I4gQCsoA\nWFytL6YA0xpSuFBqdaaWxNRgs/D0RODXX2PfpUt679ly9SqG1NVpxizjD6UhFJiJpLbMWtrvPz0x\nEdi/v91yKV9obVkLK8WbMUcTQ7O6s1CwRlyWI4MIY7kWVV274v9ZWK1PtVTiY/Fgs7NmIWHPHsF1\n6ObR5DdzCtWcff45uvv4QOXk2rKOomDENKnejDmSGJrVnYWCNSJ7YhgLyViuxczgYMHXG6ttkFIt\nlT3YuyeYqbJiWHPGn5rJ7GCzMDHIbJcumj/4tWkGE6Df3quXpAIzIXIKRrTl8PylS4ju0cMm5ZBu\nxswTS7O6M1CwRogDGMu1EH6WahuEOLMnWG5+PuZs2oTiqVMFp2YyO9gsjAwyGxqKIl9fzQPD4TNk\nNgG6XIIRfjksAJAI25VDV78ZM0boJs399ddl16xuiiiDNY7jRgN4C4A7gA8YY686eZeIhDm7Vg0w\n3gTkHxeHhSEhsqhtsDdH9AQzVlbW7NihCdQAwamZzA42CwgOMnsmIgLd/fzQR2j4DEB2E6DLIRjh\nl8PEtufkXKPjbKZSSITI9UZXdMEax3HuANYC+CeACwAOcRz3OWPsd+fuGSEdZ6wJaMby5QCkX9vg\nCJ3pCWYu+V87j2ZERAQ8GxraLT/Db24RmJrJosFmBw6ECsDxzz+H4q9/RVRQENLHjZNVMOYKDMuh\nNsn9/A8/yD7J3RmM3aTNuvVWLFQoXOZGV3TBGoDbAZxmjJUAAMdxmwGMA0DBGukQMeSsmWsCopO7\nedYmqFuc/M+fR3PbNk0QZtA5AFlZvA22n5rJ4sFmYXy0fyIN/HKYAeAy2pLcq6tln+TuDMZu0qK7\ndsXdy5e7zI2uGIO1KADneI/PA7jDSftCiM1IvQnI2dO8WJOgrpdjZi75nz8zwMmTwMKF7V9rwdRM\nNzc04A6VChFnz7rUNDiuhl8ODwP4yGA5NYnalqmbNKmfU60hxmCNOXsHiLw4u1ZNCswFYmKY5sWa\nBHW9HDNzyf/856KihF/L650ZWFGBvwQE6E3N9M++fVG1bp1LToPjavTK4Q8/aGrUDMg1yd0Z5NSL\nuDPEGKxdANCT97gnNLVrelJSUhAXFwcACAoKwqBBg3QX5YKCAgCgx/TYZo+PHjiAKwUF8GhsRHFt\nLQYnJ2PO/Pmi2b/OPM54+WUcWrsWOW29FAsAvH/sGPD++xiRlISCggJkpafjo7aTpebdN2oQWv38\nHLa/I5KSLNrepQsXoHPhAnDkCDBokKYJ88gRzfPa5kxzy7WPBw0CBg5En8xMvPbEE3rby/rPf0Rx\nfOixgx77+WH5rl1YpFSiIC9PsxwaBQCK6+qgJYr9lfDjVj8/dH/kEaTt3w/3hgYU19Vh8IQJuqDZ\n2ftn7LH275KSEtgCx5i4KrI4jvMAcBLAPQDKAPwI4EF+BwOO45jY9puIV0Enc9YEa5UUCigzMmRR\na7JIqcRLbRccvjSlEst37QIApCcmIl2gm3x6QgLSeScne7C2+TU3Px8zX3kFFQsWaJ44elSTk6bN\nQzP8W5uzNmsWsG0bcO1a+9e2UeTkIEOgh6Yzjw+xjY4082e8/DIuZ2W1r/Uxcm5wdioBcR6O48AY\n4zr6ftHVrDHGWjiOewaawYndAWRRT1DiTHKfPNiS3m3OGn1eaD7NGd9/jxfuuktvAnR+r84zjY2o\nT0qyPPmfN49mAIDg4GDjnQOMDKVBo/NLW0eb+QfGx8NtwACLmubFkEpApEt0wRoAMMa+AvCVs/eD\nyENnatUA+U8ezA80CsGbwoXXuy1q2jSH5I0YDrHhv3cvCisq9F6zQaXCkD/+wC+33Sbca1PbmQAA\n1q0D3NwQWl6OD+3YC5PyaqStozdk2nOLJcGW3G/6iH2JMlgjREzkXmvCDzTy0Bao8awoLkbaDz9A\nmZFhs27yQuOe6WrFeENsJPCT/Hn8KisFp3Rq1ymgrVbtlu3b7TpchhxG53flJjpH3JDJ/aaP2BcF\na0T2OpuzJvdaE36gcd5E77bOdpM3O+6ZwBAbtfv2Ca5Lb55NfoDGH6iWx9KwujNlRcrDCLh6E11H\nb8isKS9yv+kj9uXm7B0gROxGJCVpapWUSqQnJCBNqTSaQCxVI5KSsHzXLkTfITykYWcuKLn5+fj7\npEm4PzMTecnJOO7pqQnUAOO1Ym1/F/Xpg0mRkXrrmxgZiaI+fXg7JzCTAI8iJwep48Z1eP9dgbEm\nuj2ZmU7aI8caNXs2FioUes8tUCgw0oY3ZI7YBpEvqlkjstfZnDXA8bUmzmqS6kwtosmmTX9/4Mkn\nNS80Nu6ZwJyaQvNpFj3zDFS+vkandAJudCaICgqyaH5N/vH+2sWaAAFqoutoM7Y15xY5NJUT56Fg\njRCR6UyTVGeDPFMXFH4zpuE8mkL5ZnpNm5ZMem5klgAVgMM//QTvK1cQ6eaGPidOtOup2ZkpnVy9\nCRCgJjrAMTdkUm4qJ85FwRqRvc7mrDlaR3uN2SroqPHxwY99+uhqyHI3bULTRx9pgrHERKCyUjOP\nJn8cMmNTOlkz6bmJITa8g4ORmpJil04C/ONdAM3gpq7WS0/ueZn2IrVzC5EuCtYIgfEaKWc0R3a0\nScoWQwPozakpVEPGn0fTTL4ZAKsnPXfGROeu3gQIUBOdK3HlXr9SRsEakT1zd77GaqSOHTqECzk5\nDm8e62iTlC2CDr05NYWCMSvyzQAYnfS8X1gYljk4KDOGf7wTec+7UhMgIL0mOjEEHVKrVaMmf+mi\nYI24PGM1UpPWrsUWgwFZHdE8ZtgkVQjgbR8fRFy4oJtRQGj7HQnyDPPQ6jnebChCwZiV+WbtEv7N\nNGc64wJMTYDSI6egw5FlngbmlS4K1ojsmcsrMVYj5dPSIvi8vZvH+E1Sl8+fB3fmDLbU1wPHjgHH\njhm9KFkadLQb74yXh4asrBsvFArGhgyxPt8MljVtOusCzD/e5y5eRM/wcEk3AYqhxsneHBV0mDuW\ndpl32I5lnpr8pYuCNeLyjNVI1XsI/zwc0TymbZJapFTipePH9ZYJXZRy8/OxZvduXIiMxL5r1xDs\n7o4GjsPV6Gh8n5eH6xs2tO+1KZSHZq6G7PPP0d3HB6qXX0ZEeLjRoEx3kTt3Di1eXggYNcrsZ3bm\nXb/2eEs9YVxONU6m2DvoKMzNxYa0NHj+/jve4a3T1sfS0WWeev1KFwVrRPbMXXyN1UglTJuGhQY5\na45uHjN2Ufrtt9/w90mT9AMwbQ3ZsmWazgHanprGZgkQykNrC8qwbh0CKyrwl4AAh9WQieGuX8qB\nGuA6zVz2DDq05Te8uBgvGSwzPJZSm3eYmvyli4I14vJM9YQrHDLEoT3kDHPI/nr8ONIFXneha1f8\n4ulpWU9NY702hfLQAN2cmkO3b8eujAyT+yvUTNTRgKEzF2BXaPqzhBgCXkewZ9ChLb/pRpbb8lg6\nuqaLev1KFwVrRPYsadoy1hPOkT3kdMNm3HKLLofsyNKlmHTqFLaUleleNzEyEkXh4Zb31HR3h/+B\nA+j76afwKy1F7fHjKEpOhkooD62NIicHqVOmmNxfYzVotT4+gq83d5Hr6AXYlk1/psqKFAJCV2nm\nsmfQoQ14hTNW9Y+lFOcdllqvX6JBwRohDiI0HVPX0FDd3yWXL6NKm+TfFjipYmPx5ahRGLJ9uybQ\niolB0YQJUJ08eWPFZnpq+p89i3/t2XMj4Lt8GZPKyvDlM89ANWRIuzw0S6doMtqLNjRU8PXmAoaO\nXoAd0fQnlVwway/+UghAjbFX0KENeEcBWAhgBW+ZrQMpqukilqJgjcieGPKQjA42y/9bOyWTQVOl\nKj4eh+PjNUHcI49onj9x4sZrzPTU7FterlczBwBbyspw19q18Lr//g4PQmusyS0oPBwLg4I6VFvQ\nkQuwLZv+jJUVqeSCWXPxl0oA6miGAW8agLPe3gjo1w+Tli3TOzZSnHeYSBMFa4TYgWHuWWNLC1SL\nF2sWGssnE6ohM9Y704qemlE1NYL7mNC7N9LN5KSZYqzJrXt0NEampjqstsARTX9SygWz9OIvlQDU\n0QwDXnh7Y5YL1HZJuZbVFVCwRkTJlicOew7HwG/arPr5Z4QWF8OnpQVXAZwYPx4qDw/N+GX8icyN\n5ZYJ1ZCZGL+MP3k5+/NP9L1+HRFqteZ4TZyoO16LlErAoGYN6HwwY6rJzZG1BbbM+zFWVuSYCyaW\nAFSMQYKl5VfqQ71oUS2r+FGwRkRHKicOftOm/8aN+NeRI9iiUumWT9q0CV8uWAAVYHzkf/7f2mEz\nfvoJfqWl8ObnkJloqjR3vOyVxCyWfBtH7IcchzwQQwAqld+63FEtq/hxjDFn74PVOI5jUtxvYplF\nSiVeystr93yaUonlu3Y5YY+EKWfPRl5yMgBg8JQpOFRe3u41f+/dG+6BgfCrqkJtXR2KUlOh8vXV\nHwNN+3cbRU4OMixI8Ney5HgV5uZiDy+YGekCzTq2JrdjKBQoLVAoMDojw2GfSyq/dblLT0xE+v79\n7Z9PSEB6QYHjd0iGOI4DY4wz/0phVLNGREcszTNA+9yziIgIeDY0AJ6eOFNVpXudX2tru/cWAuh/\n9iw+bGrSPTdp5UoU9u2LCIVCsDnTG7CoJyafJceLkpg7T27HUAw1o2L6rbsyMdSyEtMoWCOiY+sT\nh7G8EnNDabSbGWDBAlTwa8J482jWurm1W38eoBeoAcAWlQqPcxze27y5Q59FiL1HcxdbPpE9ySUH\nyVLODkClHiTIpbzIsZlfbihYIw5j7MJv+HxkfLzdTxwWDaVhbmYAXo/MojFjMGnTJr2ctVMcBwg0\n10f4+trscwD2O9HKKZ/I1YJOqaAgQRzEUMv6/9u79/io6jv/468vmSQEAnKRKhGr3RREbRtpiYVq\ngdqWqGxtxZ9E642t3YoWot3WWyLLUI1Fu225pODvt9WlbqvSdqFriWJsaxLX4ipeUKGpiNJyqSCg\nQiDkxvf3x5xJziQzyUwymTkz834+HvPIzJlzZr4z+Wbmk+/5fj8f6ZmCNUmISF/8b7z4Iru71N+s\n2L6dU66+moXPPx+XD44ZM2Z0G0V7a98+Di9aFNiht9JMkVZvuupoZh04QMOkSXzxrbcYZgzNPh+j\ncnLgrbe6tSfeowYD9UGbLpOOYwk602GUJJWkepCQTv0l2aOs0jMFa5IQEbPdV1Wx5sCBbtsXPv98\n1BOMI42auOebvd3cTNPNN3eOnJ12WucDRArGeqkMAPRYR7O+upqKcBO4B2DUYCA+aNNlPlG6BJ3p\nSkGCSO8UrElCRPriz2sLX4Ev2oAg0qjJC5s386M3tvLut74JlZVQURG4Mzhy5ppvFjEY66UyQFDO\nD37CrvfH8OlPfxPIYfjwj3Do0C4gh5bWj/OMr5GROT6OZcF+ewZ/+uGLHFq4rtu+Ice1tPPuux8E\nFjRkN/a470Add+KOnWHf87pN2znxxNKkti2W4z7btCXs63j9+YaO31lw32HD2hk5coTnX1M0x3m5\nbenymo4fP8qgQb60ek36/cb/uNzcSJVmY2CtTblLoNmSSipmzrQ2MIMr5DJn9Oiw2+8qKenT49aB\nrQD7j1lZdvLkyTb/3nstJSWWZ54JXK67LvBz6VLLVVf1fD14e+oMy9nnWSbNtEy6zPLx8y1nXm0p\nus4y4SJL3h8s1Fkod5oRvB5uWzTXvXFcPkvsHEaEvL+XU2BPyT3TXvCx0farE4faCz422I7JXeTp\n1zSZ4rB9bDLnhnmOpSn3e0q9tqXTawrXX7zStlQ7zstt689xwQvW2n7EPf05OFkXBWupp279elte\nWOjuufbOwkL700WLwm6vW78+qsddNH16x3F1YMu7fCHPKSiw+TNmdAZfV18dGohdc00ggDv7PCcA\nu8Ty8dLO6xPKLHlzXQ9ZEcP1WPb15nH5rLeTKbHT+aidTIk9Jfcs+43P+qz9JR2Xb3zWZ8fknu/Z\n15TPHDuH0D52OYU2nzlJb9vAHefltuk1pUbb9F7E57jgBWtt3+MenQaVhOhpInF9cXHUE4y7zk/b\nsq3z9GcNUNll/zV79lA8fDibItXULCqCxcvh7e9D0wWA37nguu53PaIvhuux7OvN4xqZxSZmEXwf\nLigYwoNloUP6D5a18cW7XuKP7yS2bdEe18iZPMG1FLOCoTRwhIk0sIBGXkx62wbuOC+3ra/Heblt\nfT3Oy21L9HFeblt/jouP+D+iSASRJhJHO8E43Py0i7N8XDlqFI8ePBixM7e2tgbmnZXfDcey4fAI\nePluyPkENAE7T3ACNQB3INLWw7ZorqffccNyuyywcIRu7/05xuT6+WRBFcNyD3O4uYrX98znveaB\ne02dQeddwD3O9o1h9t0eclwsz+Gt47zctr4e58W2hesvXmlbqh3n5bb157j4yPL7/XF/0IG2ePFi\nfyq2W/rn3xcsoHLTppBtV9nj3DtuHD8rLGT/e+9xTZhKAj9paefAX1rgzTtg5/RAgtv918PenXDg\nh9A2Cvh/wBcJ/P/S9XpJL/dnznGnDHuZ6y7ovljk35/O550PDkf1HGNyH+Yr5yznv+48yhXT27nu\ngiYa/vocu/afztH2F5PwXrj33Qn8zjPvd3xek9falk6vKVx/SfXXpN9vfI8LWozf719MH6k2qMQs\n0QlGg8/3Vl09jzV3XyU6o6iIuqVLA8XUuySmnTN4CC+d+BlOGDMBY3IZNmwMhw7twphcmpvbePfd\nDxk79mSysxu73d/XfdP5uLaDmzl37Ev8bEHn39/1KwyvHfw87UPHR/Ucnxn13zzl7/57vGhxHnuH\nfj0p74VX32+9ptRpm16T3otIxw0e3M5TT92DVW1QSZSBzGrvv285VY9voC07h5b390J2DsOONfOF\nba/yWEszd3VtC4F5asO2bmXyrbfSMHs2T1x5JcW/+jXDjsOxLB+f/Opstq/+v/1ql4RaucTPFUur\nGJzVxrF2H9Nmz+fBO/xRHz936gige7B20qgcntz4s/g1VETEI4y5p/edejo+FUeoNLKWPHeVlHBP\nTU237QtLSnpNYhsuGMvJH0nL+3tpaW+mfdxYuOPWQOJap/7m5HnzePEvfwECwdlTBBYRuK8Hlebn\n88RJ4/juP9+I//ayju3pUr8vXZSeeyJrbjnQbfsVS0fz2Av7k9CiTuorEgv1F4mWMUYja5I4PWW1\nD3d69I9vbKfq8Q0cbjpEy5jhUHlbSDDWFLxuDFx/feDBXCWfhr7/fsdzTHN+LgReNobqLgH7msZG\nriwgJFAT75k+ez7zVlXywI2dk3BvWBUYocsUK5f4qVtbRV5WG03tPqbPns9NMYxOikhmUbCWIeI1\nz6wtNzfs9l2HDnU7PXpFbT3VZ59N44//LVAxIEww1nF99erOB3OVfDriC+2i05zLV4YOBdfctKAz\nxp7UbZv+8/WWm+7wsxK6nUr1QrCSiL6ycomf16orWXNLZ7A6b1UlK8ET74FET58tkigK1tJYMEB7\nb/duzNtv80BTU8d9fZ1nNrOsjIrt27vVu8yBbvUXH2s5RrFvEJsgcv3N4PUIJZ8aJkyglEC+tKA5\n+fm8dzz8afB4F0mXgXHTHf6MDUzq1laFBGoAD9zYxhVLqzL2PRGRng1KdgNkYAQXAtxTU8OYLVtC\nAjUIBFZPr1gR8+NOmzWLkmXLWFhSgn/6dBaWlHDhsmV8ZPjwsPsPbWkJXOkSjOVv3MjkW29l+pNP\nMvnWW8nPywskq4XOxLVA49e+xhPjx1NcXMyMoiKKi4upKfwERZdfRUVhYchzlRcW8uUwRdJra2tj\nfp2SmeLVV1Yu8VN67onMnTqC0nNPZOUSf8d9eVnhczANjrBdvEufLZIoGllLUzXLl3eMdEX6JUdb\nLL2rcElsa5YvD7vvkZycwBVX5YD8vDwuvvfezhQb+/ZRumcPT8yaReNDD8HfdpO1/31yvrfIWYDQ\nzJbsPHJGFOBrbeWWy0rw315GfXV11JUPRBKlt9OcTe3h/yKPRdguIqJPhzTlXggQ6f/1eJwyDK7w\nbH93J9vyhrCm6WjHfXNGj6ZhyJDAjaKiwM/yhZy1dWtILjRwykI9soZsXw4TRp3AuPGFvc6ri7by\ngeaVSLSi7Ss9LRDo7TSnFlgEpMMiC322SKIoWEtT7oUAM4EKQtNclBcWMm7KFO4qKYlq0UG4tBvt\nx9s7V3g++CBPnHUNxQ8/zNCDBzly2mk0XHopjUOGQPlCcskj32Qz/6uXQ85aqKsLefx6YHJ7C6uO\nHIIP98M72+OWvy3e0uFLJpP19/fX28hZb6c5+7LAIt36nBZZiMRGedZ6kOhM/fHUNXltPfDTvDzG\nFhYy7JRTGDtlCrt/8YvQ5LaFhZQsW9btNfrvW07lH2ppKy8LSbsRssJz9WqYOzdwffNmeOklGDQI\ntm5j0WWlIek0wuVqu4vOio1u0eRv6008cyEFv2TcoyLzVvn41KwKfcmkgN5+f9H0ld7yxMU7j1w6\n9jkv59qLhfKsSbT6m2dNCwwicE/Q99fVcU9NDU/dfDP11dXJblpUui4EeLqkhG//+tcsff117t6w\ngT0bN3ZbvRlu0YH/vuUs/vWjgUANQtNuuFd1uhcQFBXBN74Bc+cyOntEt7xnM8vKui0O+FuEU7J9\nnVc3UOrWVoV8aULgFFf92qoktUhiEY/fX28jZ4HTnKEnLfpzmjMd+5wWWYjERqdBI3BP0A+q3L6d\nhStW9Hl0LdEjdT3N6eopuW3wlGdHIttPnOHaIUKA5lpA0PEclcuYf0lJ2HYBIYsD8vftg1de6bZv\nPObVxfM/X33JpLbefn/R9JXeFgjEO49cOva5dFlkoVE1SZTU+stIoJ6CmVgMRK6zvggJwAa1c+5b\nb+IPs9+TL2/mhdwhHfPQuP76wM+gSAGaawFBx/y0S0oiVhPoGkjWV1dT0SWpbnlhIReGScWRTOny\nJZOp4vH7i2aBQDzzyKVjn9MiC5HYpO5f+wCLlKm/p5GeriNnBVOndswLCzcnq78jddHqmHM2p6Rj\nvtnWRx6h9NFHQ1ZlzikoYOuECXDnbYENwVE0d1DWW4D21cv7VO4p3GhbvFJxxHNeib5kUltvv79o\n+kq8R856WzyQjn3Oy1UsYqE5a5IoCtYiiJSpP9JIT9cJ/QClzz7LGmckLd65zro+dzBIbNizl/qs\noRw9aVzHqs2mQW1wf2VghMw5TdnY1MQT5eUUr1vH0L/+tXP1plM0HegcRQsGZQ89FFg08NoW8pwc\naEP27mZaeyMTC06iLddwwScK6atoU3EkU7p8yWSqeP3+4jVyFs2qyHTtc5lcxUIkVloN2oP66mqe\ndo30fLmHkZ5wKxz9zgViX+0Y7fy2+upqHr12LqsOdq6gKi0oCCSYPXq0s+7m3LmhKzYjXXev8HSv\n/HT4KpdR8aUvdCSl7RqgRlpRKiLdpcuqSBHpWX9Xg2pkrQexjPSEm+Pmnv4bKddZuJG6sEFQhPlt\nK7/zPR47GPqhvmbPHorXr2fTI48ENgRHyCLU3+zrPLRIizC+uXBhyqY8iVW65b+SxErHxQNep79Z\nSUUK1uIk3By3mcC8vDweaGpimrOt1JXrLNKcrJ5Wogbv37VtO28e/IC85qPdjgcYevx4541gAFZc\nHH7uWR/noYULUOuB7D//mXtcKzuTndx2oOaVpENiT31xhUr0HKSeFg/odxN/8f6b1Zw1SRQFa3ES\nbo7bhsJCPnX11Sx8/vmOU6nfjmLSfKSVqM88+xzbnqnlsZZm6oEa4NUIj3FkkCuFXjAAe+kl2PoX\n+F45uTn5DDpyGDrqb+7tuO5rbY1qoUC4ALUGWOWah1cPmO3befCaa6gpLk6rUbbeygp5XaKDTQUf\n3UVaPJB30tkp/4+AF6X636xkLgVrcRLP1YwNe/aG3Z7L8Y5A7SkCp1Tr6X56dU5BAQ2zZoXmPSsq\nwre+lorSa/q0WjOccAHq3wYPBidYc7eT99+HmpqkjLIN1H++qX4KK5FfXKkyCpnoUZJIiwfq1lbx\nHwoq4i7ef7MaVZNEUbAWR/1dzRhcVLB7106uzc3lYdcI25yCAjhyBAiMXgWDs+Dp1YXAq/n5vDtu\nHA0MovWNHeS5Rs58ra095j1zL2jYdegQOcBHhg8Pud51/llvyW3d7QxKVLqSREj1/FeJDDY1ohFZ\nuFWRL/z30rD7pso/Al6V6n+zkrnUQ5MsmKw268ODfGHbqzzWEgjQ6oGv5OZydPBgDk2YQMOllzKx\nqgo+/LDbL22ac5lhsnhn1D/w3R6CsnDcCxq6jtp1jIw5uo6M9ZTcdiDTlcRioOaVpHr+q0R+caXK\nKKRX5iApqBgY8f6b9Up/kfSnv/wk8d+3nPsfeZSsrDYmZsHIt7d0BGrgBGDNzRSPGsWm++8HoKGm\nhlJg/J49YR9z7Nix1D4Xe+1S94IG92hYX0bG3KNt2154IXD6s4t4lJDygp7yX6XC/KxEBpsKPmKT\n6v8IeFW65qyTDGCtTblLoNmpZ9GSZXb05y6yOZPOs8y8yObPmGHnFBRYC3YRWBvmMr2w0HLV8pxN\nRwAAFVFJREFUVZZnnrEsXWrzp0+3k8aPt9f6fCH73TBqtK1bv75v7Zo+veNx3O1wX68DW+FsKx05\nMqrnqlu/3pYXFoa0887Cwj63M1X89AeL7A3n+6z9JR2XG8732Z/+YFGym9bNT3+wyJYWj7bXTTnB\nlhaPHrA2hntPvuXR98QrEvW7EZGB58QtfY57lBQ3QTpKPpWXdSSenXzVVbzojJJFSppbPGIUWz46\nAbJzOldtZucw7Fgzhbu3M2HkCZw64eM9JuztjTuhr7sdwethT4dGmfw2lsTC6UKJTsNbucRP/VqN\naIhI5ulvUlwFawMgOA+tLTune8kn6KgYML20lNp9+4DwAdGcggL+Z3gBe/78YtzaFq4yAtDjnDVD\nbNUXvCbR80rmTh3B6gUfdt++4gRWb/wgYe2Q2GkOksRC/UWilXYVDIwxfuCbwHvOpjuttd6PCOic\nh9Y0dhRU3hZarmn16s4dnYoBR0aOBCdY67aq88wz2daSxS1XXhm39kWqjFCybBkly5Z1rOrce+gQ\n3zaGMcOGsffQIY6++WbHSlS3RC8USBWanyUiIvHkxW8PC/zYWvvjZDfELVJqi2Dh9AN5g2kZMxw+\n9fHO2pqbNnXmOetS0inf76e9vZ3rfD5+3haYRDwNWJkzmBdOO5v27NHccllsqzp701NlhLs3bOix\n7ild6p5C6iwUSPR/vpocnro0SiKxUH+RRPFisAaBM2/9Fm0x9GgeJ9xpQgicKjySk8PRvDwOZY2n\noa2ZxuCBWVmdD+Iq6ZR/9CgXb9nCmv37qScwmrY9y8fIok9x0/e/z2NxyNUW7jVHqozQ2whZuOS3\nkeqailaciYhIfHk1WFtgjLkW2AR811ob9USfYLDy3u7dmLff5oGmpo77+po9P1Jqi2Dg9ruWFmhp\ngU2bKM3P54mNG2mcOjV0NC1Y8umhh5j4+HrWfBhIaRHMkUZ7GwvHjOl3Ut2eCsCHKw8FvY+QxbM6\nQzIkY15JuESn4n2agySxUH+RRBnU+y7xZ4x52hjzepjLJcAq4GPAOcDfgR9F+7jBYOWemhrGbNkS\nEqhB4JTf004x9Fi4R6Tc0W24PGRrGhuZGHyO4GhaUFERvr8f5uxRo8I+T3/ngEU6zRl8zTPLyqgo\nLAy5v7ywkC9HMUI2bdYs7t6wAX9tbY+nTEVERCS+kjKyZq39cjT7GWN+Bvwu3H1z587l9NNPB2DE\niBGcc845/N4JVmqBXa59a52fMwgERLW1gS3B/4h6u739yBFqnePbXI8XfPPcjw9w5NgxJlx2GWPb\n2znadpyGZ57j+JhTGDz0BOZfUsL2D3ZR+07n/sHjgyNcsbYveDsYVHZtz8533w38B+gEWNcsXkxW\nSwunnnwyFy5YwPGhQ0P+Q+zr83v1dnCbV9qj2969PWPGDE+1R7e9fVv9Rbcj3Q5e37FjB3HRnyRt\nA3EBxrqufwd4JMw+YZPOuZO7VkRIMntXSUm0Oew6uJO71oEt7+E56sBeYwaFbCvvkgh2oJLFVsyc\nGbfXLCIiIvFBP5PienHO2n3GmHMIrAp9B7gh2gPdc7JmAhWEnqYsLyxk3JQp3FVSEtOiA/ecrY3P\nb+LgR0bxB8C0tvK33bt5uLW1Y9+f+Hysawutd9i1RNNAzQHTQoDwal2jaiI9UV+RWKi/SKJ4Lliz\n1l7b12PdwUowb1lpXh5jCwsZdsopjJsyhd2/+EXECfg9+eMb21l1eBAHJpzRmdwWeGPjRorXrWNE\nw1tM+dy5nLZ7N7zxRrfju85H61oAPR5SfSGAiIiIdJd2FQx6Km/kLqvkFikTf7ASweGmQ4Ecand2\nSXTr8FUuo+JLX8B/e1nMzyEDJxWKqYuISPpLuwoG/dXTiFUsecY6anlW3tZRyxMIScHB9r8xmqHM\nv6Qzee1AnIqMV764TLJyiZ/XqitZc0vnKel5qypZCQrYREQkpaRdsNaTWPKMVT2+IRCoQWhyWwgE\nbEVFnOBfyv7a34bcFe9Tkb3lTpPw6tZWdQRqtVthxlnwwI1tXLG0SsGaRKQ5SBIL9RdJlIwK1mIZ\n9WrLzum84U5u6+JzLSxwi+d8tJ5KRClYiywvqy3s9sERtouIiHhVRgVrsYx6+VpbOm+4SkV13F+5\njPmXlAx4m/taIirTuYupzzirc7uKqUtPNEoisVB/kUTJuG+uaEe95l9yIZX3LqetvKxznlr5QnLJ\nI99kh8xTG0h9LRGV6VRMXURE0kXarQaNp8Bq0Kdoy87G19qasADNLdyctfLCQi5ctkynQXuxcomf\n+rVVfNB4jBH5g1VMXXqlOUgSC/UXiZZWg8aJe8Vlw5691GcN5ehJ4/BhueWiCxIepAUpd1rfBYup\n6wNVRERSmUbWCD96VVpQwBPz59M4dSq+e5dT8cUZSQvYREREJHX1d2RtUDwbk6rCrbhcs2cPE9et\nA6CtvIyqx59KRtNEREQkwylYI/KKy6EtnStC27KzE9UcibPa2tpkN0FShPqKxEL9RRIlo4M1/33L\nOfG8i3ny5VfD3n8kpzPXWqScaiIiIiIDKWODtWA5qQOVt7H1M5MoLSgIuX9OQQENl14KJC6nmgwM\nLS6QaKmvSCzUXyRRMm6BQbA4+4HWD+H+ysDG1avJP+MMJq5bx9CWFo40N9MwdiyNrTD6eF5SUnaI\niIhIetACgxi4R9M4a3znHe3tNE6dyqb776du6VIarr2WiYcP86XNrzIvv40LPlGYvEZLv2leiURL\nfUViof4iiZLWedaCo2iHmw7RMqgdBhm4/97Ane56n65yUvkbN3JxVRVr9uwJ3FdTo8LpIiIikjRp\nexo0OIrWNms6+evWMfHIEYbu3MmRU0+lYfZsGocMgRdf7Kz3uXkzrPkN527dyv9+eLDb4y0sKeHu\nDRsG4uWIiIhIGlMFgwiqHt9AW+Vt5C9ezMXbtnWOlO3dS+mePYGEt8XF8NBDsP1vjGYo8796OeSs\nhbq6bo+nwukSTyuX+KlbW0VeVhtN7T6mqxSWiIhEkHZz1oLpOA4MCgRXE998szNQc3QkvC0qwvf3\nwyy6ZDb7n6vGf3uZCqenIa/NK1m5xM9r1ZWsueUAqxd8yJpbDvBadSUrl/iT3bSM57W+It6m/iKJ\nkhbBWjBAy/30+Sz+44bAAoLTTwFgaFtb2GOGNrzJ6IofUvGlL4Ss9JxZVkZFYeiCgvLCQr68YMHA\nvQDJKHVrq3jgxtB++cCNbdSvrUpSi0RExMtS/jRox9y0ytvgwQfh+usDdziLBo6MHAn79nU7buzY\nsdQ+V91tuwqnpx+v5ULKywr/D8TgCNslcbzWV8Tb1F8kUVI+WAvOTQMgK6vzjqIiABr27KH0nR2s\naeksKTVv1Ghu/PG/RXzMabNmKTiTAdPUHv7P7liE7SIiktlS/jRoW3ZnSaiQdBwARUU0/uu/8uw/\nfJKFJSX4p09nYUkJX3/45wrGMojX5pVMnz2featCA7MbVvmYNnt+klokQV7rK+Jt6i+SKCn/r7yv\ntbPYujtfWsf9lcv41txrVIFAPOOmO/ysBK5YWsXgrDaOtQcCNa0GFRGRcFI+z1rHnLVyJxhz8qXl\nkke+yVapKBEREUmq/uZZS/lgDYKVCp6iLTsbX2tr1AFafXU1NcuX42tupi03l5llZTo9KiIiInGV\nscFaxcyZ/Qqu6qureermm6l0SkkBVBQWUrJsmQK2NFNbW6tVWxIV9RWJhfqLRCtjC7nfU1PDUzff\nTH119/Qb0ahZvjwkUAOo3L6dp1esiEfzREREROIiZYM16F9w5WtuDrtdZaXSj/7zlWipr0gs1F8k\nUVI6WIO+B1cqKyUiIiKpIOWDtb4GVyorlTmUC0mipb4isVB/kURJ6Txr5YWFXNjH4EplpURERCQV\npOxq0LtKSviygivpg5VL/NStrSIvq42mdh/TlZBWREQGUMam7kjFdkvyrVzi57XqSh64sbNo+rxV\nPj41q0IBm4iIDIiMTd0hEi33vJK6tVUhgRrAAze2Ub+2KsGtEi/SHCSJhfqLJIqCNckoeVltYbcP\njrBdREQk2RSsSdpz50Jqag+/puZYhO2SWZQ3S2Kh/iKJkhbBWn11NXeVlOCfMYO7Skr6XNVA0t/0\n2fOZtyo0MLthlY9ps+cnqUUiIiI9S/nhhLA1Pp3rWikqEFq/76Y7/KwErlhaxeCsNo61BwI1LS4Q\nUK1HiY36iyRKygdrkWp8LlyxQsGahHXTHX4FZyIikjJS/jSoanxKb/Sfr0RLfUViof4iiZLywZpq\nfIqIiEg6S/lgTTU+pTfKhSTRUl+RWKi/SKKk/Jw11fgUERGRdJay5abq1q+nZvlyfM3NtOXmMrOs\nTAGaiIiIeE7G1gadN+pEVh3c37HtxlEncuXDqxWwiYiIiKdkbG1Qd6AWvL3qX76XpNaIl2leiURL\nfUViof4iiZKywVo4+/++N9lNEBEREYmrlD0NGq7VU0eOYePBfQlvj4iIiEgkGXsatLSgIOT2nIIC\n/nrSaUlqjYiIiMjASNlg7Ynx4ykuLmZGURHFxcXUjPko35p7TbKbJR6keSUSLfUViYX6iyRKygZr\njZdeyiZfLs8P+QjvZI/hliuvxH97WbKbJSIiIhJXKTtnbfTnLmb+JSUK0ERERMTTMjbPWiq2W0RE\nRDJPxi4wEImW5pVItNRXJBbqL5IoCtZEREREPEynQUVEREQGkE6DioiIiKSxpARrxpjLjTFbjDHt\nxphPd7nvTmPMNmNMgzFmZjLaJ+lF80okWuorEgv1F0mUZI2svQ5cCtS7NxpjzgJKgbOAC4GVxhiN\n/km/vPrqq8lugqQI9RWJhfqLJEpSAiFrbYO19s0wd30VeNRa22qt3QG8BZyb0MZJ2vnggw+S3QRJ\nEeorEgv1F0kUr41aFQC7XLd3AackqS0iIiIiSecbqAc2xjwNnBzmrnJr7e9ieCgt+5R+2bFjR7Kb\nIClCfUViof4iiZLU1B3GmGeA71prX3Zu3wFgrV3i3N4ALLLW/m+X4xTAiYiISMroT+qOARtZi4G7\n8Y8Djxhjfkzg9Od44IWuB/TnBYuIiIikkmSl7rjUGLMTmAJUG2OeBLDWbgV+BWwFngRuUvZbERER\nyWQpWcFAREREJFN4bTVor4wxFzoJc7cZY25PdnvEW4wxO4wxrxljXjHGvOBsG2WMedoY86YxpsYY\nMyLZ7ZTkMMY8ZIzZa4x53bUtYv9Qku7MFaGv+I0xu5zPl1eMMRe57lNfyWDGmFONMc84Cf/fMMaU\nOdvj8vmSUsGaMSYLqCKQMPcs4EpjzJnJbZV4jAVmWGsnWWuDOfruAJ621k4A/uDclsz0HwQ+P9zC\n9g8l6c544fqKBX7sfL5MstY+CeorAkAr8B1r7dkEpnh924lP4vL5kmqd6VzgLWvtDmttK/AYgUS6\nIm5dF6BcAvzcuf5z4GuJbY54hbX2WeD9Lpsj9Q8l6c5gEfoKdP98AfWVjGetfdda+6pzvRH4M4GF\nknH5fEm1YO0UYKfrtpLmSlcW+L0xZpMx5p+dbSdZa/c61/cCJyWnaeJRkfqHknRLOAuMMZuNMQ+6\nTmmpr0gHY8zpwCTgf4nT50uqBWtaDSG9Oc9aOwm4iMAw9Ofddzqri9WPJKwo+of6TmZbBXwMOAf4\nO/CjHvZVX8lAxph84L+Am621h9339efzJdWCtd3Aqa7bpxIamUqGs9b+3fn5HrCOwLDyXmPMyQDG\nmLHAvuS1UDwoUv/o+nkzztkmGcpau886gJ/RedpKfUUwxmQTCNT+01r7W2dzXD5fUi1Y2wSMN8ac\nbozJITA57/Ekt0k8whgzxBgzzLk+FJgJvE6gj1zn7HYd8NvwjyAZKlL/eBy4whiTY4z5GBGSdEvm\ncL5sgy4l8PkC6isZzxhjgAeBrdbapa674vL54oUKBlGz1rYZY+YDTwFZwIPW2j8nuVniHScB6wJ/\nM/iAX1pra4wxm4BfGWOuB3YAc5LXREkmY8yjwHTgRCcx978CSwjTP6y1W40xwSTdbShJd0YJ01cW\nATOMMecQOF31DnADqK8IAOcBVwOvGWNecbbdSZw+X5QUV0RERMTDUu00qIiIiEhGUbAmIiIi4mEK\n1kREREQ8TMGaiIiIiIcpWBMRERHxMAVrIiIiIh6mYE1EPM9JhP1673sOeDuKjDEXuW5/xRhzezLb\nJCLpT8GaiGQkY0xfkoJPAi4O3rDW/s5ae1/8WiUi0p2CNRHxHGPMvxhjXncuNxPIGO8zxvzCGLPV\nGPNrY0yes+8SY8wWY8xmY8wPnW1jjDG/Mca84Fw+52z3G2P+0xjzP8DDxpiNxpizXM9ba4z5tDGm\n2BjzJ2PMy8aY54wxE5wSd98HSo0xrxhj5hhj5hpjVjjHnm6M+aPTjt8bY051tq82xixzHme7MeYy\nZ/tYY0y981ivG2POT+BbLCIpRMGaiHiKMeYzwFwCRbKnAP8MjATOAH5qrT0LOATcZIwZBXzNWnu2\ntbYIuNt5mGXAT6y15wL/h0DR7aCJwBettV8H1uCUf3HqPp5srX0ZaAA+b639NIEyQ/daa1uAhcBj\n1tpJ1tpfEQgig1YA/+G045fActd9J1trzwP+kUD5GYCvAxustZOATwGv9vlNE5G0llK1QUUkI5wP\nrLXWNgEYY9YC04Cd1tqNzj6/AMqApcAxY8yDwHrnAvAl4EynTizAMGPMUALB1ePW2mZn+6+AGsBP\nIGj7tbN9BIGRt487xwQ/K41zCWcK8DVX++53rluc4s3W2j8bY05ytr8APGSMyQZ+a63d3PtbIyKZ\nSCNrIuI1lu4BkSV0FMsA1lrbTmAE7jcERq02uO7/rDMCNslae6q19ohz39GOB7V2D3DAGPNJAsHa\nGueuu4E/WGs/CXwFyIuy7ZECuZau+1hrnwU+D+wGVhtjronyOUQkwyhYExGveRb4mjEmzxkNu9TZ\n9lFjzBRnn68Dzzr3j7DWPgn8C1Dk3F9DYOQNCKzi7OH51gC3A8OttW8424YDe5zr/+Ta9xAwzHXb\nHZz9CbjCuX4VUN/TizTGfBR4z1r7MwKnaSf1tL+IZC4FayLiKdbaV4DVBE4TPg/8O/A+8Bfg28aY\nrcAJwCoCQdXvjDGbCQR033EepgyY7Ez23wLc4H6KLk/5G6CUwCnRoPuBHxhjXgayXMc8A5wVXGBA\n6IjfAuCfnLZcBdwc4TmD178AvOo8xxwC8+xERLox1nb93BIRERERr9DImoiIiIiHKVgTERER8TAF\nayIiIiIepmBNRERExMMUrImIiIh4mII1EREREQ9TsCYiIiLiYQrWRERERDzs/wOMubRy2ptSggAA\nAABJRU5ErkJggg==\n",
       "text": [
        "<matplotlib.figure.Figure at 0x10ec09490>"
       ]
      }
     ],
     "prompt_number": 3
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "We can see that the fit for the uncensored portion is now vastly improved. Even the fit for the censored data is now relatively unbiased i.e. the fitted values (red points) are now centered around the uncensored obsevations (cyan points).\n",
      "\n",
      "The one glaring issue with this arrangement is that we are now predicting many observations to be _below_ $D$ (orange) even though we are well aware that this is not the case. Let's try to fix this."
     ]
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "##Using constraints to take into account of censored data\n",
      "Instead of throwing away all censored observations, lets leverage these observations to enforce the additional information that we know, namely that $y$ is bounded from below. We can do this by setting additional constraints:\n",
      "\n",
      "$$\n",
      "\\begin{array}{ll}\n",
      "  \\underset{c}{\\mbox{minimize}} & \\sum_{i=1}^M (y^{(i)} - c^T x^{(i)})^2 \\\\\n",
      "  \\mbox{subject to} & c^T x^{(i)} \\geq D\\\\\n",
      "  & \\mbox{for } i=\\mbox{M+1},\\ldots,K\n",
      "\\end{array}\n",
      "$$\n"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "import cvxpy as cvx\n",
      "X_uncensored = X_ordered[:M, :]\n",
      "c = cvx.Variable(n)\n",
      "objective = cvx.Minimize(cvx.sum_squares(X_uncensored*c - y_ordered[:M]))\n",
      "constraints = [ X_ordered[M:,:]*c >= D]\n",
      "prob = cvx.Problem(objective, constraints)\n",
      "result = prob.solve()\n",
      "\n",
      "c_cvx = np.array(c.value).flatten()\n",
      "fit_cvx = X_ordered.dot(c_cvx)\n",
      "plot_fit(fit_cvx, 'CVX fit')"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "metadata": {},
       "output_type": "display_data",
       "png": "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\nFbkCUYvti8fiMpf73YAoVet7nA+XW5/myxa7fm5Lk7vnc54Os6pzOH3f7NchP4Z71+Sr/eSfn6tr\n9nfatE2zPt5vbffTR9qcfx6e/P/q45r0sZ+e0+bNfrYHhBCexz0hHhfJkaacNap/Z8MG+2ulRvzZ\nAO6OinJYlmcyYUq3hrq7y8qw3GxGQVYWlpvN2F1Wpl3i3aR2zK3V27cj49pru5YBMANYAWBRQgJW\nmM2ov+6/sbH2FOrX/Brt37kMeOjXlo2VhtIAEN2/f8/0OElndGN/4EAh0DKsaxkuudwv1rqNq/U9\nzgdbmuV7un4e7eH5nKfD9jn0fg6n7xs6FbZy75p8tV+0G9fs77Rpm2Z9vN/a7qePtDn/PDz5/9XH\nNeljPz2nzZv9tKH9EckjagIYpUb8200mXLNwIVa8/77Thrp6m0rEnW773a95MizXvKSwEBX7a/Cn\nVzcDTz1m2Vhpns2lSy03NePGAXmr0XzybM/0OElnM/r12KJZdn/jbL9G6zau1qs5n5rnzR6ez3k6\nbJ9D7+dw/b7Jt3Lvmny1X7PLa5bfMPk3bZ6nOXBp8+9++kib/POoRNe8w579/+rjmvSxn57T5s1+\nGvGmWC5QD0uyg4va6T48mbJKb1OJuDtdj/ya510xUqSO/L4I/+4PRMx3vy/GpqWJCcOHixsGDBA3\nxMWJsWPHWtqa2aZyuu02gSvHClxxo0DUTsX2P1ORKOYh2mHZbCdtUOT7K1XLznbRZm22k7Zizs7n\nbZu13s6nvNy7NmuzDdhmbbYB26w5+5z09n4HY5smpTZrnv//6uOa9LGfntPmzX62B4QQnsc97A2q\nE0qlX3kmE6YWFnpd+lWQlYWCqqqeyxV6UfqLOz1HbQqeWI81OyvRkZeLmFWrcNOBA7inttbeW9Rm\nbloatv3yl2iaOBF4ZB2G1UUjMSoGkhSB2NiBaDjyHpJPVSOy8yIa2oHz6ePQr18rkk9VIzYkBI3W\nHoLx1t5dkhSBtrYOHD9+DqmpKQi58IV929PtjQi39oaU72c7h5D1nGy19s6Ur1dzvrCwJnvabeu7\nP/f0fErvRXjiINXnOBcCxetXSqe71+Sr/ZTei46oDF2kzdXnq+Zz0tv7reV+ekmblv+/erkmPeyn\n57R5s19kZCd27HgUwoveoKwG1Qlfjjukx1Hwlcb0KXhiPZ55czs6wsLR3nACCAtHeEyC/XlLSAfw\npCUsG3ngALbU1mI5HAM1ANhSW4trn1iHmu9ci1/+yIyCB3P9c1FEREQKJOlRr/ZnsKYjvhqUMJCj\n4MvHU6uuPYHd/aJxYXBGj2CsvbMNnRmpwJpfWwautY5r1iKfi3PTJvtxozssbQK6Z2DbALpXogNT\nYjpww1WmoJm/j3yPeYXcwfxC/sJgrQ/wZaldb4Pb7i4rw+bbF+MPZ07bt5+bloZt138PLRdiHIMx\nSbIMVvv//l/XwLR79qDpiy+6pn+S9fBsTkgATp50aMYpH0AX584B5eXIr6nBoCVL+IVKRESGxTZr\n5DHFXqYmE05f99/436+OwPTZe/ig8VyP/calpmLfSy9ZXhQVAUuWIGb1atxUXY0ttbX27eampWHb\nyJFoWrHCskBWyhazZw9u+t3vcM/p0/YAbTkApYLmQMzmQEREZCNJEtusBSM9TM7uirOx4cafbUT9\na1tw1dy5QGPP/aIvycYpsg63MfLf/8aWujqH7bbU1mKcENhnWyCbOL2p5jDeTR6OkMRkDAjrh3nH\njyO0pQW4cKHH+eTDnxARERkNgzUd0mpcNF8HfM7GhuufkQoAaA5Vzl7NIbJxo6xVm0qD1dqX28ZL\nA4DRoxFaWon8H83q0XFgudkMWOcUlatRCOCIlLANErmD+YX8hcGaDjkrsVqxYYPqYMsfA+E662Xa\nHB4OAKi+4grMBRyqNuekpaF62rSuAMw6eG1zQoLisdrOnEfUZzXAAysRHpOA0IsXnfbwdNaRYuzM\nmV5cJRERUWAFdbBmhKpEJWpmM3BFi4DPlezcXPx8378cOhDMiYlBtTU4apoxA9tKSjAuPR3R7e1o\nbmtDNUJwcf9BRDU32gOw9oYT+Ka5BbdGRmNza7P9WHkmE55wY5w5X3akoL6BpSTkDuYX8pegDda0\nKFnyNNiT73f0/HmEAxg0YIDqY2gxLpqzgO/k0aNYbja7nTalMdA6L3UifNgw7DNdhuhDh9A8bBiq\nx4xB0+efAxMnAqNHownAvi2vISI0HjHRYfhVL+Oe7S4r8zrQ8tXwJ0RERAHjzfQHgXpYkt07b6dY\nUpoSKa+XKZGU9lOajsfdY9gevU3HpPb6qwBxV1SU22lb+XihCJ0ys2sKpwULLM8XLrT83bVLYNGi\nrue2aZ4WLRIYN0msfLxQdbp9YdeuXQE9PxkH8wq5g/mF1IKX000Fbcmat1WJaqsRu5einfn6a2xt\ntHSBLEfP0fXVVEVqUZ2n1H7r2agobGlpcSttBU+sxyr5ZOn79nU19pdPnC4bAw2jR9t7bibl/5Yz\nCBAREXkhaIM1b6sS1QR78qpW24CsGfJjODm2moDR2+o8pYAv9dgxYP9+xbTZRv4/+v77mHfFldjd\nLxr1UZFoHzgAuOrbssQ7CdCsHQXsgdz/b+/+o6Mq7zyOv7+QEENCoYIraO3qSetSW4u0pqulSuxW\nh8IWUVdowVq6bQ+nlR/bdg/WAGt2BS24dQXctZ5FS7eKRa14kFQMVSNW3SoKiCBKKbTyY1WQH/JD\nTPDZP+6dcGdyJ5nJJDN3Mp/XORzm3plMnuC302+e5/t8H6Bkznwmj451+GfoLKorkXQpViQTihfJ\nlR7tv6QwXTZ1KjOqqhLu1VZVcWmaRyylk+wFZ9/iM1XBjvrNhMvVmZwXjxrFTStXUtfYSM9LRvLC\nmyf6mIV1/p8NLD5wgF9v2cxFB3fTq28p3DA9MSkLS9DAm0mrrobaWZTV3kz/Gbcy4yuXaFZNREQk\nS902Wbt41Chi8+czKxajbvhwZsVijMhgZ2E6yV5w9i0+U3UZMCPkcar3yIW6uQuY80QjG8ZeybjK\nylZjC1sSXbprF4PfeMO7CCZlbSVoDzRw4+VX8/5zDex5tj4yiVpjY2O+hyAFQrEimVC8SK5022VQ\nyG4pMZ26seDsW3ym6mL/71lAT2BdZSXXnX02p/Tpk5NWEmG7No/2aIZ5czh09938traW6mXLqPjz\nnznYty9PAAO3bYPm1vOA8cPSgycH0KMHvLKR8mDfs8uvjkxiJiIi0t3obNAshNWsBWeoaquqMprN\n66h4gvbe0YNejdkN0xPO0WTxYpg48cTfkPD4/AkTeDHQuDauevBg1nz+863q0LS8KSIikj6dDZpH\nybNvbx08yHVmGc2iZdu4N77E2Txnesuh6EDirs14nVmK2rOUJw1cey307u0tc1JOpZWmPD1ARERE\nuoaStSxls9SaTePe+Gza3qYDMM+fzwvu1Aw+jteZVVe3OuaJ73439UkDjz5Ffyst+GVOnd8n6VKs\nSCYUL5IrStbyqK1ebk++urVV7Vn8aKYPjh/j+McGwZzp3nJmXKpdm/Gas5degk2vwz/XUtarkh4J\nRz4dY2NpOb36nUbvt3Yy6vghBvf6gOYy48ufSdxoISIiIrmjZK0DOuvM0VS93N5844/c96G/tBmo\nPTsaf2x2YrkzVa+z5L5nQ4ZQsqKRGeO+2eYsWcJs35bNQO6O6eoq+s1X0qVYkUwoXiRXlKylKZ6A\nvLNzJ/anP/Fz/yQAyDyZiUvVy+2NfQdorvUTqmDtWfxxcDYtmJTFZ9D8GrPgzFlJU1Na9WbZHgDf\nGWeyioiIyAndts9aZ4onILMbGjhl48aERA28ZGbVwoUZv+9lU6fy/ZMHJNz7eq+T2HDaoBM3wurQ\nkpc4q6u9thoz6hJ6nR1Z/zxH1jzN/sZH0u571lXHdHXk36ezqBeSpEuxIplQvEiuFN3MWkeW6IIJ\nSDZHSAXVzV3AvCX30/Ovz2RN1VlUvPsuh48cYfOUKRzatOnEC8Pq0FItcY6+MuuNALk4pktERETS\nV1TJWkeX6IIJSDZHSLXqh/bZT8B3vsMaSGy70bt3eO1ZcpJ2zz3wl52UH2pm+tVXdcqOzbAD4Gur\nqhjRicd05ZrqSiRdihXJhOJFcqWokrWO1mMFE5D4MU2tmt+2k8yE9kML1p4FlzuDJwZs20H5waOB\nXZtvJdWhXd6pbTXSObmhLdkmeyIiIpKoqJK1ji7RBROQ+HFS48rLGVRVRZ/TT2+VzLR15JP3DUNq\nz4KPwUvYhgyh/4xb2bP+yUx+zKx19TFduaZeSJIuxYpkQvEiuRK5ZM3M6oDvAu/4t25wzq3sjPfu\n6BJdWAJyXUgCEq9DOzroZK8HWvKRTy3fMKT2LHmJE+9op8mjY5n/oHmWTbInIiIiiSJ3NqiZ3Qi8\n55y7rY3XdOhs0LCatfj5nUCHeoO1qkP7q/4nas+CdWjBx8Ekbv16r1ntX3bSc88+ep3UJ6NWGyIi\nIhJt3fVs0A7/QG1JtUQHdGjjQUZ1aEn90Co3bmTwmCvo8yG836OEc8dcyV2Nd3XeDysiIiLdQlST\ntSlmdi2wBvixc25/Z71x2BLdzFisQxsP7li+0kvUoP06tMCmgcoXX+Zr27ax5NiRlqdn/P4JVtfX\na/mwC6iuRNKlWJFMKF4kV/LSFNfMVpnZhpA/o4E7gbOA84DdwM8yee/V9fXMjMWoq6lhZizG6vr6\ndr8m040HdXMXMGDYSPb2CDyfXIeW/Bi8fmi732PU8eMJiRrkv3GsiIiIRFNeZtacc5em8zozWwQ8\nGvbcxIkTOfPMMwHo168f5513Hj0OH+bxadO41J8lq8Fbzlz7yisMufDClt+A4l2n49dbDx+m0X89\nQKP/d3zjQfD1dXMXcNODD/LhNVd5tWYA69ZB374nljm3bIGbb4YPjtNzzz56TppGaXkfTqroy+TR\nMbbfvy30+8WTw+Txzb/lFtY8/DBVFRU0l5VxSk1Nmz+PrhOv4/eiMh5dR/e6pqYmUuPRdbSvFS+6\nTnUdf7x9+3Y6QxQ3GAxyzu32H/8QqHbOjU96TegGg5mxGLMbGlrdnxWLcdPK1BtK29p4kLwsOWDY\nSPbGlz6DGwXi10sfooxyKq005QaBTMYZ2si3qorTr7mGXc8/32pDRNQOURcRESl23XGDwVwzOw9w\nwDZgUrpf2NE+apn0Bmsu7XXiIql5bf8Py5l8+dXt7uDMpHFsWCPf2NatLJk3r9Vh8q+++CI7771X\nh6gnaQzMqom0RbEimVC8SK5ELllzzl3b0a9N1Udtx8GDzIzF2pxtaq83WLxFx4GmA4lPBJvXPtt+\nfVz8e0F6yWFYAtoAoYfJj7vjDpbu3dvqfnsbJURERCS6IpesZSNsxuofBw6k3+7dzF67tuVeurNN\nrXqoxRvddkLz2nQbx4YloKn+o5U3h59cWuyHqOs3X0mXYkUyoXiRXOlWyVrYjNVJb7/NbYFEDdKb\nbQrtoQaJS59b/0J/Krq0eW1YAvpaeTkkzawBHC0J/8+Zz0PURUREJDvdKlmD1jNWdSl+82lvtim0\nh1qcv/TZt+529jQ+ks1w2xWWgA6/4AJmJNWm1VZVMfyaa0LvF/sh6qorkXQpViQTihfJlW6XrCXr\n6HmgCRsJkg9Z95U0NXV4XJkIWzJdXV0dWvOW6r6IiIgUpsi17khHJmeDZtKWI6jNFh14dWozvnKJ\nzu4UERGRNmXbuqPbJ2vgJWyrArNNl6Yx29RSs1brJ2Np9lATERERCVKy1oW83aCP01xaSklTkxK0\nAqW6EkmXYkUyoXiRdHXHprh5N2niJDY88ht6A2cD5465irsW35XvYYmIiEgR0sxakkkTJ7H/gftY\nevRwy71x5RX0GztBCZuIiIhkTMugneyL/Qbw3IG94ff3vdMl31NERES6r2yTtR6dOZhcWl1fz8xY\njLqaGmbGYqyuT++op1Tq5i5gwLCR9HLhpwD0LsCkVjyNjY35HoIUCMWKZELxIrlSsDVrye04OnJg\nedhxUofHj4eDB1q99oh1OCEWERER6bDCXQYNuT8rFuOmlSvTeo+E1hyB46Qqlyxh5P33s/TQoZbX\njivvTb+x16hmTURERDKm3aAB6RxYHp9N29t0AObN8b/wxHFSh8aP57dA9YoVVBw+wgc9Sjn38iuV\nqImIiEheFGzNWpj2jpCKz6btnTMdzvlk4AsTj5M6NH48a5Ys4dXPDOO5fe8oUaPzawRzSXUlki7F\nimRC8SK5UrAzazOqqto9sDyhJq3HcehhMO9m78lggnb++bBoUavjpCaPjnXpz1Aowo7s6kiNoIiI\niGSuYGvWnl6xos0jpFpq0kYNP3Gu5+LFMHGi94L166lctozBhw9T0dTE4fffZ7P1pOmjp+s4qSQz\nYzFmNzS0up9JjaCIiEixKtqatYtHjWpJzlbX19OwYAFP3norzWVlXDZ1KncsX0nznOne5oH4jFlg\nNq3yyBFGbtzI0j17Wu59/+QBfOPf52m2KEnJsWOh99OpERQREZHsFHzNWnyJbnZDA3VPP83shgZ+\nftVYju3f4b0gsHmgZbkTGPzwwwmJGsCd7+5h1cKFuRp6wWguKwu9316NYFSorkTSpViRTCheJFcK\nPllrWLAgoZYKYMmxIwze5ydiwdq0IUOguhruuYeK17eEvp9mi1q7bOpUZlRVJdyrrari0qQaQRER\nEel8BbsMGrdjy9bQ+xW9e3uzaNXViZsHhgyhZEUjAwcOgvdaN78tlNmiXIovC88K1AiOSKoRjLKa\nmpp8D0EKhGJFMqF4kVwp2A0G8XGnOsuzurqaNRMmwEsvwcbXwXpS1quyZfPAlz9T1WqHY21VFSPm\nzy+YJERERESir2g3GMRt/dgnGFdRxtJdu1rujT3tNDZfcYW37DlkCP1n3MqeZ8P7ghXqbJGkr7Gx\nUb8BS1oUK5IJxYvkSsEna8f7nsxvJ1xO9bJlVLz7LoePHGHz5MkcuvBCoO1+acEdpSIiIiJRVPDL\noAlnfAKsXw9LH6KMcvVLExERkbzLdhm04JM1iJ9U8DjNpaWUNDUpQRMREZHIULIm0g7VlUi6FCuS\nCcWLpCvbZK3g+6yJiIiIdGeaWRMRERHpQppZExEREenGlKxJt6fz+yRdihXJhOJFckXJmoiIiEiE\nqWZNREREpAupZk1ERESkG1OyJt2e6kokXYoVyYTiRXJFyZqIiIhIhKlmTURERKQLFW3N2sxYjNX1\n9fkehoiIiEiXKthkbXZDA49Pm6aETdqluhJJl2JFMqF4kVwp2GQNYM7WraxauDDfwxARERHpMoVb\ns+Y/rhs+nDr9diMiIiIRVbQ1a3HHTzop30MQERER6TIFnazVVlVx6ZQp+R6GRJzqSiRdihXJuUiW\nzwAACJNJREFUhOJFcqUk3wPoqFmxGCOmTOHiUaPyPRQRERGRLlO4NWsFOG4REREpPkVbs1Y3dwED\nho2kX80YBgwbSd3cBfkekoiIiEinK9hk7V+fXMneOdM5UPdP7J0znTlPNCphk1CqK5F0KVYkE4oX\nyZWCTda4YXrCZXPtVO5Y/nieBiMiIiLSNQq2Zo2nnmp1v2/d7exvfCQPIxIREREJV7Q1a2FKmpry\nPQQRERGRTlW4ydqiRQmXJXPmM3l0LE+DkShTXYmkS7EimVC8SK4UbJ81qquhdhZllFNppUweHaPu\n+qn5HpWIiIhIpyrYmrX+XxypBE1EREQiL9uatYJN1gpx3CIiIlJ8tMFApB2qK5F0KVYkE4oXyRUl\nayIiIiIRpmVQERERkS6kZVARERGRbiwvyZqZXW1mG83suJl9Lum5G8xsi5ltNrPL8jE+6V5UVyLp\nUqxIJhQvkiv5mlnbAFwBrA7eNLNzgHHAOcAI4L/MTLN/kpV169blewhSIBQrkgnFi+RKXhIh59xm\n59wbIU9dDtzvnGtyzm0H/gh8IaeDk25n//79+R6CFAjFimRC8SK5ErVZq9OAHYHrHcDpeRqLiIiI\nSN512XFTZrYKGBjyVK1z7tEM3krbPiUr27dvz/cQpEAoViQTihfJlby27jCzp4AfO+de9q9/AuCc\n+6l/vRK40Tn3h6SvUwInIiIiBSOb1h1ROMg9OPjlwBIzuw1v+fOTwAvJX5DNDywiIiJSSPLVuuMK\nM3sTuACoN7PHAJxzm4AHgE3AY8AP1P1WREREillBnmAgIiIiUiyithu0XWY2wm+Yu8XMrs/3eCRa\nzGy7mb1iZmvN7AX/3slmtsrM3jCzBjPrl+9xSn6Y2T1m9paZbQjcSxkfatJdvFLESp2Z7fA/X9aa\n2VcDzylWipiZnWFmT/kN/181s6n+/U75fCmoZM3MegJ34DXMPQf4hpl9Kr+jkohxQI1zbqhzLt6j\n7yfAKufc2cAT/rUUp1/gfX4EhcaHmnQXvbBYccBt/ufLUOfcY6BYEQCagB865z6NV+J1nZ+fdMrn\nS6EF0xeAPzrntjvnmoBf4zXSFQlK3oAyGvil//iXwJjcDkeiwjn3DLAv6Xaq+FCT7iKWIlag9ecL\nKFaKnnPu/5xz6/zHh4DX8DZKdsrnS6Ela6cDbwau1TRXkjngd2a2xsy+59871Tn3lv/4LeDU/AxN\nIipVfKhJt4SZYmbrzezuwJKWYkVamNmZwFDgD3TS50uhJWvaDSHtGeacGwp8FW8a+qLgk/7uYsWR\nhEojPhQ7xe1O4CzgPGA38LM2XqtYKUJmVgn8BpjmnHsv+Fw2ny+FlqztBM4IXJ9BYmYqRc45t9v/\n+x1gGd608ltmNhDAzAYBb+dvhBJBqeIj+fPmY/49KVLOubedD1jEiWUrxYpgZqV4idqvnHOP+Lc7\n5fOl0JK1NcAnzexMM+uFV5y3PM9jkogws95m1sd/XAFcBmzAi5Fv+S/7FvBI+DtIkUoVH8uBr5tZ\nLzM7ixRNuqV4+P9nG3cF3ucLKFaKnpkZcDewyTl3e+CpTvl8icIJBmlzzjWb2WTgcaAncLdz7rU8\nD0ui41Rgmfe/GUqA+5xzDWa2BnjAzL4DbAfG5m+Ikk9mdj8wHBjgN+b+F+CnhMSHc26TmcWbdDej\nJt1FJSRWbgRqzOw8vOWqbcAkUKwIAMOAa4BXzGytf+8GOunzRU1xRURERCKs0JZBRURERIqKkjUR\nERGRCFOyJiIiIhJhStZEREREIkzJmoiIiEiEKVkTERERiTAlayISeX4j7A3tv7LLxzHEzL4auP6a\nmV2fzzGJSPenZE1EipKZdaQp+FBgZPzCOfeoc25u541KRKQ1JWsiEjlm9iMz2+D/mYbXMb7EzO41\ns01m9qCZlfuv/amZbTSz9WZ2q3/vFDN7yMxe8P980b9fZ2a/MrPfA/9jZs+b2TmB79toZp8zs2oz\ne87MXjazZ83sbP+Iu38DxpnZWjMba2YTzWyh/7VnmtmT/jh+Z2Zn+PcXm9l8/322mtlV/v1BZrba\nf68NZvalHP4Ti0gBUbImIpFiZp8HJuIdkn0B8D3go8DfAP/pnDsHOAj8wMxOBsY45z7tnBsC3OS/\nzXzgP5xzXwD+Ae/Q7bjBwN8558YDS/GPf/HPfRzonHsZ2Axc5Jz7HN4xQzc75z4AZgG/ds4Ndc49\ngJdExi0EfuGP4z5gQeC5gc65YcDf4x0/AzAeWOmcGwp8FljX4X80EenWCupsUBEpCl8CHnbOHQUw\ns4eBi4E3nXPP+6+5F5gK3A68b2Z3Ayv8PwBfAT7lnxML0MfMKvCSq+XOuWP+/QeABqAOL2l70L/f\nD2/m7RP+18Q/K83/E+YCYExgfPP8xw7/8Gbn3Gtmdqp//wXgHjMrBR5xzq1v/59GRIqRZtZEJGoc\nrRMiR+IslgHOOXccbwbuIbxZq5WB5//WnwEb6pw7wzl32H/uSMubOrcL2Gtm5+Ila0v9p24CnnDO\nnQt8DShPc+ypErkPkl/jnHsGuAjYCSw2s2+m+T1EpMgoWRORqHkGGGNm5f5s2BX+vY+b2QX+a8YD\nz/jP93POPQb8CBjiP9+AN/MGeLs42/h+S4HrgY845171730E2OU//nbgtQeBPoHrYHL2HPB1//EE\nYHVbP6SZfRx4xzm3CG+ZdmhbrxeR4qVkTUQixTm3FliMt0z4v8B/A/uA14HrzGwT0Be4Ey+petTM\n1uMldD/032YqcL5f7L8RmBT8Fknf8iFgHN6SaNw84BYzexnoGfiap4Bz4hsMSJzxmwJ82x/LBGBa\niu8Zf3wJsM7/HmPx6uxERFox55I/t0REREQkKjSzJiIiIhJhStZEREREIkzJmoiIiEiEKVkTERER\niTAlayIiIiIRpmRNREREJMKUrImIiIhEmJI1ERERkQj7fyT4UiBvr3r9AAAAAElFTkSuQmCC\n",
       "text": [
        "<matplotlib.figure.Figure at 0x10bc25ed0>"
       ]
      }
     ],
     "prompt_number": 4
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "Qualitatively, this already looks better than before as it no longer predicts inconsistent values with respect to the censored portion of the data. But does it do a good job of actually finding coefficients $c$ that are close to our original data?\n",
      "\n",
      "We'll use a simple Euclidean distance $\\|c_\\mbox{true} - c\\|_2$ to compare:"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "print \"norm(c_true - c_cvx): %.2f\" % np.linalg.norm((c_true - c_cvx))\n",
      "print \"norm(c_true - c_ols_uncensored): %.2f\" % np.linalg.norm((c_true - c_ols_uncensored))"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "norm(c_true - c_cvx): 1.49\n",
        "norm(c_true - c_ols_uncensored): 2.23\n"
       ]
      }
     ],
     "prompt_number": 5
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "## Conclusion\n",
      "Fitting censored data to a parametric distribution can be challenging as the MLE solution is often not analytically tractable. However, many MLEs can be converted into a convex optimization problems as show above. With the advent of simple-to-use and robust numerical packages, we can now solve these problems easily while taking into account the entirety of our information set by enforcing consistency conditions on various portions of the data."
     ]
    }
   ],
   "metadata": {}
  }
 ]
}